12

ग्रीटिंग्स,चिड़ियाघर और खरगोश एमक्यू/क्यूपिड एक साथ - ओवरकिल या एक अच्छा संयोजन?

मैं बहु-डेटा केंद्र वितरित सिस्टम के लिए कुछ घटकों का मूल्यांकन कर रहा हूं। हम संदेश कतारों (या तो RabbitMQ या Qpid के माध्यम से) का उपयोग करने जा रहे हैं ताकि एजेंट अन्य एजेंटों को एड्रेस्रोनस अनुरोध कर सकें, बिना पते, रूटिंग, भार संतुलन या पुन: ट्रांसमिशन के बारे में चिंता किए।

कई मामलों में, एजेंट उन घटकों के साथ बातचीत करेंगे जो अत्यधिक समवर्ती पहुंच के लिए डिज़ाइन नहीं किए गए थे, इसलिए दौड़ की स्थिति से बचने के लिए लॉकिंग और क्रॉस-एजेंट समन्वय की आवश्यकता होगी। साथ ही, हम चाहते हैं कि सिस्टम स्वचालित रूप से एजेंट या डेटा केंद्र विफलताओं का जवाब दे।

उपरोक्त उपयोग के मामलों में दिमाग में, ZooKeeper ऐसा लगता है कि यह एक अच्छा फिट हो सकता है। लेकिन मैं सोच रहा हूं कि ज़ेडके और संदेश क्यूइंग दोनों का उपयोग करने की कोशिश करना अधिक है। ऐसा लगता है कि जुकीपर एएमक्यूपी मैसेजिंग का उपयोग कर अपने क्लस्टर मैनेजर द्वारा पूरा किया जा सकता है, लेकिन वास्तव में सही होना मुश्किल होगा। दूसरी तरफ, मैंने कुछ उदाहरण देखे हैं जहां चिड़ियाघर को संदेश कतार में लागू करने के लिए इस्तेमाल किया गया था, लेकिन मुझे लगता है कि खरगोश एमक्यू/क्यूपिड इसके लिए अधिक प्राकृतिक फिट है।

क्या कोई इस तरह के संयोजन का उपयोग करता है?

अग्रिम धन्यवाद,

-क्रिस

+0

अरे क्रिस, क्या आपने इस प्रश्न का उत्तर निकाला है? आप किसके साथ जा रहे थे? धन्यवाद, Ilya – Ilya

+0

ये शायद कुछ उदाहरण हैं जिनका आप उल्लेख कर रहे हैं, अन्य उपयोगकर्ताओं के लिए यहां लिंक जोड़ना: http: //www.cloudera।कॉम/ब्लॉग/200 9/05/बिल्डिंग-ए-वितरित-समवर्ती-कतार-साथ-अपाचे-जुकीपर/और http://zookeeper-user.578899.n2.nabble.com/Task-Job- वितरण-using-ZooKeeper -td6096815.html – dgorissen

+0

हम मैसेजिंग के लिए क्यूपिड के साथ जा रहे हैं और ज़ूकीपर जैसे वितरित समन्वय सेवा को कार्यान्वित करना बंद कर दिया है। मैं अभी भी जेडके का एक बड़ा प्रशंसक हूं, लेकिन हमारा थ्रूपुट अतिरिक्त जटिलता को न्यायसंगत बनाने के लिए पर्याप्त नहीं है। हम कुछ साधारण इंट्रा-डाटा सेंटर वितरित लॉकिंग तंत्र को देख रहे हैं, शायद माईएसक्यूएल या रेडिस द्वारा समर्थित। सड़क के नीचे, हम चिड़ियाघर के लिए स्नातक हो सकते हैं। –

उत्तर

4

इस देर से आ रहा है, लेकिन शायद यह कुछ उपयोग होगा। प्राथमिक विचार आपके सिस्टम की प्रदर्शन विशेषताओं होना चाहिए। जैसा कि आपने कहा था, चिड़ियाघर, एक वितरित कतार का उपयोग करके एक कार्य वितरण प्रणाली को लागू करने में सक्षम है, लेकिन वर्तमान में जेड, लिखने के लिए पढ़ने के लिए अधिक अनुकूलित है (यह केवल 1000 की ओप प्रति सेकेंड रेंज में खेलने में आता है) । यदि आपकी थ्रूपुट आवश्यकताएं इससे कम हैं, तो अपने सिस्टम को लागू करने के लिए केवल zk का उपयोग करके रनटाइम घटकों की संख्या कम हो जाएगी और इसे आसान बना दिया जाएगा। बेशक, आपको निर्णय लेने से पहले हमेशा अपने प्रदर्शन परीक्षणों को चलाना चाहिए।

वितरित समन्वय सही होने के लिए वास्तव में कठिन है, इसलिए मैं निश्चित रूप से इसके लिए ज़ूकीपर का उपयोग करने की सिफारिश करता हूं और अपना खुद का रोल नहीं करता हूं।

0

काफी सुनिश्चित नहीं हैं कि चिड़ियाघर संचालक ठीक है, लेकिन मुझे लगता है कि कि अपाचे (अगर यह अच्छी तरह से अपनी आवश्यकताओं फिट करता है) इस तरह की चीजों के प्रबंधन से पहले पसंद किया जाता है से एक घटक का उपयोग वितरित सिंक्रनाइज़ेशन और समूह सेवाओं के रूप में स्वयं। आप विशेष रूप से उस उद्देश्य के लिए डेवलपर्स की एक टीम को किराए पर ले सकते हैं, लेकिन इससे आपको बेहतर कार्यान्वयन की गारंटी नहीं मिलती है।

मुझे लगता है कि यह किसी भी अलग घटक के रूप में लागू किया जाएगा, cuz अन्य तरीके से जटिलता ला सकती है और वर्कफ़्लो को कम कर सकती है; इसलिए चिड़ियाघर या कुछ भी पसंद की प्राथमिकता स्पष्ट है (मेरे लिए)।

और निश्चित रूप से, जब तक कि आप अपने प्रोजेक्ट वर्कफ़्लो के वैश्विक अनुकूलन चरण में नहीं हैं, मुझे लगता है कि खरगोश एमक्यू का उपयोग करना बेहतर होगा या ऐसा (मैं यह भी जोर दूंगा कि एएमक्यूपी का क्यूज़ कार्यान्वयन (विशेष रूप से वाणिज्यिक) होगा आप जिस चीज के साथ आएंगे उससे ज्यादा विश्वसनीय)।

तो मैं उचित तृतीय पक्ष उत्पादों को सावधानी से चुनने के लिए दोनों के लिए जाऊंगा, लेकिन जितना आवश्यक हो उतना उपयोग कर रहा हूं। और यह सिर्फ मेरी राय है; पढ़ने के लिए धन्यवाद :)