मैं उच्च उपलब्धता के साथ एक "स्टेलेबल" प्रतिस्थापन की तलाश में हूं। इसे रनटाइम पर नौकरियों को जोड़ने और हटाने का समर्थन करना चाहिए।एक स्केलेबल "एट" कार्यान्वयन के लिए खोज रहे हैं
कुछ पृष्ठभूमि: मेरे पास एक ऐसा एप्लिकेशन है जहां मैं लाखों घटनाओं को ट्रिगर करता हूं, प्रत्येक घटना केवल एक बार होती है। मुझे तंत्र की तरह क्रॉन की आवश्यकता नहीं है (महीने का पहला रविवार, आदि), बस तिथि, समय और संदर्भ।
वर्तमान में मैं Quartz scheduler का उपयोग कर रहा हूं, और यह एक बहुत ही अच्छी परियोजना है, लेकिन इसमें बहुत से बदलावों (शेरिंग, बढ़ते मतदान अंतराल इत्यादि) के बाद भी हमें जो घटनाएं फेंकती हैं, उसे संभालने में कठिनाई होती है।) मूल लॉकिंग के कारण यह अंडरलाइन डेटाबेस पर प्रदर्शन करता है। इसके अलावा, यह हमारे लिए थोड़ा अधिक है, क्योंकि मूल रूप से हमारे पास लाखों एक बार ट्रिगर्स हैं, और अपेक्षाकृत कम संख्या में नौकरियां हैं।
मैं शायद सिर्फ निष्पादन समय के अनुसार क्रमबद्ध कार्यों के साथ JGroupsshared tree का उपयोग किसी भी सुझाव
क्या विफलता के आसपास अपनी आवश्यकताओं कर रहे हैं? उदाहरण के लिए, यदि कोई मशीन नीचे जाती है, तो क्या आप एक "प्रतिस्थापन" घटनाओं को आग लगाना चाहते हैं जब प्रतिस्थापन आता है? –
हां, क्वार्ट्ज के समान। इसके अलावा, मैं क्लस्टर में क्वार्ट्ज चलाता हूं, इसलिए हमेशा एक गर्म मशीन प्रतीक्षा होती है (क्वार्ट्ज में सभी नोड्स हर बार प्रतिस्पर्धा करने के लिए डीबी को मतदान करने की आवश्यकता होती है) –
मैं बस सोच रहा था कि हम * क्वार्ट्ज के बिना चीजें कैसे बना सकते हैं। अगर हर नौकरी को स्वीकार किया जाना चाहिए, तो यह मुश्किल हो जाता है। यदि नौकरी दो बार चलती है तो दंड क्या है? (उदाहरण के लिए, क्या आप मिनट में एक बार आखिरी मिनट में निष्पादित सभी नौकरियों को स्वीकार कर सकते हैं?) –