केवल एक ही सर्वर उदाहरण पर सक्रिय बैच

वोट
0

मैं एक nginx loadbalancer दो बिल्ला उदाहरणों के सामने हर एक वसंत बूट आवेदन शामिल है। प्रत्येक वसंत बूट आवेदन एक बैच है कि एक डेटाबेस में डेटा लिखते हैं निष्पादित करता है। बैच 1 में हर दिन निष्पादित करता है। समस्या यह है कि दोनों मामलों बैच निष्पादित simultaniously है जो मैं नहीं करना चाहता है।

वहाँ batchs दो उदाहरणों में तैनात रखने के लिए और बिल्ला बता सकते हैं या मास्टर सर्वर (और गुलाम सर्वर बैच नहीं चलता है) में बैच शुरू करने के लिए nginx के लिए एक रास्ता है।

सर्वरों में से एक बंद हो जाता है, तो दूसरे सर्वर उसकी ओर से बैच शुरू कर सकता है।

वहाँ nginx या बिल्ला में एक उपकरण (या कुछ अन्य प्रौद्योगिकी) ऐसा करने के लिए है?

पहले ही, आपका बहुत धन्यवाद।

13/02/2020 को 22:02
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


2 जवाब

वोट
0

वसंत बैच अपनी नौकरियों (JobsRepository) के लिए एक डेटाबेस का उपयोग करता। डिफ़ॉल्ट रूप से स्मृति डेटा स्रोत में एक चल नौकरियों और उनकी स्थिति पर नज़र रखने के लिए किया जाता है। अपने सेटअप में, 2 उदाहरणों (सबसे अधिक संभावना) कर रहे हैं स्मृति डेटाबेस में अपने स्वयं के प्रयोग से। वसंत बैच के कई उदाहरण, एक क्लस्टर के रूप में एक दूसरे के साथ समन्वय कर सकते हैं और एक नौकरियों चला सकते हैं, जबकि अन्य actasa बैकअप, अगर jobsRepository डेटाबेस साझा किया जाता है। इसके लिए आपको 2 उदाहरणों कॉन्फ़िगर करने के लिए एक आम डेटा स्रोत का उपयोग करने की जरूरत है।

यहाँ कुछ डॉक्स हैं: https://docs.spring.io/spring-batch/docs/current/reference/html/index-single.html#jobrepository

https://docs.spring.io/spring-batch/docs/current/reference/html/job.html#configuringJobRepository

14/02/2020 को 01:00
का स्रोत उपयोगकर्ता

वोट
0

आप डिजाइन द्वारा एक ही समय में एक ही काम चलाने के लिए, तो दो अनुप्रयोग सर्वर उदाहरणों डिज़ाइन करते हैं, एक एक नौकरी उदाहरण बनाने के लिए सफल होगा और अन्य असफल हो जायेगी (और इस विफलता को नजरअंदाज किया जा सकता है)। देखें JobRepository की जावाडोक । संकुल वातावरण में डुप्लिकेट काम फांसी के विरुद्ध सुरक्षा के रूप में कार्य करने: यह काम भंडार की भूमिकाओं में से एक है।

सर्वरों में से एक बंद हो जाता है, तो दूसरे सर्वर उसकी ओर से बैच शुरू कर सकता है। वहाँ nginx या बिल्ला में एक उपकरण (या कुछ अन्य प्रौद्योगिकी) ऐसा करने के लिए है?

मेरा मानना ​​है कि इस तरह के उपकरण या प्रौद्योगिकी के लिए कोई जरूरत नहीं है। यदि सर्वरों में से एक निर्धारित समय से काम नहीं कर रही है, एक दूसरे के ऊपर चीजें लेने के लिए और काम शुरू करने में सफल होने के लिए सक्षम हो जाएगा।

24/02/2020 को 13:40
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more