9

के साथ कार्य वितरण को डिज़ाइन कैसे करें मैं एक ऐसा एप्लीकेशन लिखने की योजना बना रहा हूं जो वर्कर प्रक्रियाओं को वितरित करेगी। उनमें से एक नेता होगा जो अन्य प्रक्रियाओं को कार्यों को आवंटित करेगा। नेता गठबंधन प्रक्रिया को डिजाइन करना काफी सरल है: प्रत्येक प्रक्रिया एक ही पथ में एक क्षणिक नोड बनाने की कोशिश करती है। जो भी सफल होता है, वह नेता बन जाता है।ज़ूकीपर

अब, मेरा सवाल यह है कि कार्यों को समान रूप से वितरित करने की प्रक्रिया को कैसे डिजाइन किया जाए? इसके लिए कोई नुस्खा?

मैं वातावरण सेटअप पर एक छोटे से विस्तार से बता देंगे:

मान लीजिए 10 कार्यकर्ता maschines देखते हैं, हर एक एक प्रक्रिया है, उनमें से एक चलाता नेता बन जाते हैं। कार्य कतार में जमा किए जाते हैं, नेता उन्हें ले जाता है और एक कार्यकर्ता को सौंपा जाता है। जब भी कोई कार्य सबमिट किया जाता है तो कार्यकर्ता प्रक्रियाओं को अधिसूचित किया जाता है।

उत्तर

8

मुझे यकीन नहीं है कि मैं नेता चुनाव के लिए आपके एल्गोरिदम को समझता हूं, लेकिन इसे लागू करने का अनुशंसित तरीका अनुक्रमिक क्षणिक नोड्स का उपयोग करना है और http://zookeeper.apache.org/doc/r3.3.3/recipes.html#sc_leaderElection पर एल्गोरिदम का उपयोग करना है जो बताता है कि "झुंड" प्रभाव से कैसे बचें।

कार्यों का वितरण एक साधारण वितरित कतार के साथ किया जा सकता है और सख्ती से नेता की आवश्यकता नहीं होती है। निर्माता कार्यों को घेरता है और उपभोक्ता कार्य नोड पर नजर रखते हैं - एक ट्रिगर घड़ी उपभोक्ता को कार्य करने और संबंधित जेनोड को हटाने के लिए प्रेरित करेगी। असफल उपभोक्ताओं से अपेक्षित कार्यों के साथ विचार करने के लिए कुछ किनारे स्थितियां हैं। http://zookeeper.apache.org/doc/r3.3.3/recipes.html#sc_recipes_Queues

0

एक अभिनेता सिंगलटन सेवा पैटर्न का उपयोग करने पर विचार करें। उदाहरण के लिए, स्कैला में Akka है जो कम कोड के साथ इस वर्ग की समस्या को हल करता है।

+1

प्रश्न विशेष रूप से चिड़ियाघर से संबंधित है। तो फिर आप उसे सभी अलग-अलग समाधान क्यों सुझा रहे हैं? – shaILU

1

मैं इस पुस्तक ZooKeeper Distributed Process Coordinationhttp://shop.oreilly.com/product/0636920028901.do

की धारा Example: Master-Worker Application उदाहरण znodes और आम चिड़ियाघर संचालक आदेशों का उपयोग करते कार्यकर्ता को कार्य वितरित करने के लिए यह दर्शाता है की सिफारिश करेंगे।

संबंधित मुद्दे

 संबंधित मुद्दे