2008-10-30 37 views
9

मैं अपने सिर को AMQP के आसपास लाने की कोशिश कर रहा हूं। यह अनुप्रयोगों के बीच इंटर-मशीन (क्लस्टर, लैन, डब्ल्यूएएन) संचार के लिए बहुत अच्छा लग रहा है लेकिन मुझे यकीन नहीं है कि यह एक मशीन के भीतर सॉफ़्टवेयर बस के रूप में उपयोग के लिए उपयुक्त है (आर्किटेक्चरल और वर्तमान कार्यान्वयन शर्तों में)।क्या एएमक्यूपी इंट्रा और इंटर-मशीन सॉफ्टवेयर बस दोनों के रूप में उपयुक्त है?

क्या यह एक उच्च उच्च प्रदर्शन संदेश को एएमक्यूपी के साथ बदलने के लिए फ्रेमवर्क पास करने के लायक होगा, या यह स्थानीय और गैर-स्थानीय संचार के बीच भेद को धुंधला करके same trap as RPC में गिर रहा है?

मैं इंट्रा-मशीन संचार के लिए एक वैन प्रौद्योगिकी का उपयोग करने के प्रदर्शन प्रभाव से भी सावधान हूं, हालांकि यह वास्तुकला की तुलना में एक कार्यान्वयन चिंता का अधिक हो सकता है।

युद्ध कहानियों की सराहना की जाएगी।

+0

http://www.slideshare.net/wamcvey/interprocesstask-communication-with-message-queues – asksol

उत्तर

3

AMQP एक आरपीसी ढांचा नहीं है। यह साझा कतार, आरपीसी, पबूब इत्यादि जैसी चीजों को मॉडल करने के लिए बिल्डिंग ब्लॉक प्रदान करता है लेकिन इसका उपयोग करने के किसी भी विशिष्ट तरीके को अनिवार्य नहीं है।

यदि आप अपने आवेदन को विभाजित करना चाहते हैं (इसे रास्ते में वितरित करना चाहते हैं) और इसे एएमक्यूपी के साथ एक साथ तार करने के लिए मुझे लगता है कि यह सही तकनीक है। हालांकि तेज विकल्प हो सकते हैं लेकिन शायद एएमक्यूपी के रूप में जेनेरिक के रूप में कोई भी नहीं।

2

एएमक्यूपी एक विनिर्देश है ताकि आप वास्तव में संतरे से सेब की तुलना कर सकें। वास्तव में वहां कई उत्पादन तैयार AMQP प्रदाताओं नहीं हैं; किसी भी प्रमुख संदेश प्रदाता या विक्रेता लेखन के समय एएमक्यूपी का समर्थन नहीं करते हैं (जैसे आईबीएम, तिब्को, सोनिक, बीईए, ओरेकल, स्विफ्टएमक्यू, एमएस, अपाचे एक्टिव एमक्यू, सन से ओपनएमक) - इसलिए सभी उपलब्ध एएमक्यूपी प्रदाता काफी नए हैं।

तो मैं आपके संदेश पासिंग फ्रेमवर्क के साथ जो भी एएमक्यूपी प्रदाता चाहता हूं उसकी तुलना करने की अनुशंसा करता हूं। & एक सॉकेट को बाइट लिखने के तरीके से ठीक काम कर रहा है, इस बात की कोई बात नहीं है :)

+0

अपाचे ActiveMQ करता है - समर्थन - समर्थन amqp हालांकि अधिकांश विकास प्रयास अपाचे क्यूपिड में स्थानांतरित कर दिए गए हैं। यह उपलब्ध दो प्राथमिक एएमक्यूपी दलालों में से एक है (RabbitMQ के साथ)। एएमक्यूपी किसी तरह से टिब्को, बीईए और इसी तरह के एक खुले प्रतियोगी के रूप में देखा जा सकता है। हम में से कई इसे एक प्रमुख लाभ के रूप में देखते हैं;) –

+0

एक्टिवएमक्यू के पास हाथ से पेपर के टुकड़े गुजरने के प्रतिस्थापन के रूप में काम करने से पहले जाने का एक तरीका है, कभी भी टिब्को के प्रतिस्थापन के रूप में ध्यान न दें। – skaffman

+0

skaffman, कैसे? क्या यह सामान्य रूप से ActiveMQ या AMQP के बारे में है - मुझे सापेक्ष ताकत और कमजोरियों में रूचि है। – Bwooce

0

एएमक्यूपी आंतरिक रूप से इस्तेमाल होने के लिए एसओए के लिए एक विश्वसनीय परिवहन मिडलवेयर पेशकश की तरह दिखता है।

1

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

मैं वर्तमान में इसे एक छोटे से, लेकिन वास्तविक समय प्रणाली के पास अपेक्षाकृत जटिल के लिए मूल्यांकन कर रहा हूं जहां हमें परवाह नहीं है कि संदेश कितनी दूर यात्रा करते हैं या कौन/क्या (कारण के भीतर) उन्हें उपभोग कर रहा है। यदि कोई उपभोक्ता एक ही मशीन पर बैठा है तो हो। मैं इसे जाने दूंगा और देखता हूं कि आप इसके बारे में क्या करते हैं। यदि आप एक प्रोटोटाइप सिस्टम को एक साथ दस्तक देना चाहते हैं, तो पाइथन और Pika लाइब्रेरी का उपयोग करें।

0

यदि आप मुख्य रूप से इंट्रा-मशीन परिदृश्य में प्रदर्शन में रूचि रखते हैं, तो सवाल एएमक्यूपी (जो केवल एक तार स्तर प्रोटोकॉल है) के बारे में कम है, जिसके बारे में आपको किस कार्यान्वयन की कोशिश करनी चाहिए।

नेटवर्क द्वारा पेश की जाने वाली विलंबता को हटाकर, आप शायद विभिन्न कार्यान्वयन के कच्चे प्रदर्शन के लिए बहुत अधिक संवेदनशील होंगे। इसलिए, मैं क्यूपिड या जेरोमक जैसे सी ++ में लागू उत्पादों को देखता हूं।

क्यूपिड कुछ सभ्य हार्डवेयर (क्वाड कोर) पर आसानी से 400 000 संदेश/सेकंड (1024 बाइट्स के संदेशों के साथ) तक पहुंच सकता है। जेरोमक शायद बहुत बेहतर प्रदर्शन करेगा क्योंकि आप सहकर्मी चैनलों के साथ सहकर्मी हो सकते हैं जबकि क्यूपिड ब्रोकर आर्किटेक्चर का उपयोग कर रहा है (जिसमें एक कदम था)।

1

एएमक्यूपी मानक परिपक्व हो रहा है और कुछ बालों वाली समस्याओं को हल करता है जो जेएमएस जैसे अन्य संदेश मानकों को प्रभावित करते हैं। आपके प्रश्न के लिए कि क्या मौजूदा समाधान को बदलने के लायक है, मैं कहूंगा कि यह निर्भर करता है। मैं बहुत संदिग्ध होगा, क्योंकि संभवतया यह प्रणाली उत्पादन और अत्यधिक प्रदर्शन में पहले से ही काम कर रही है। (बनाए रखने के लिए

  • इंटरोऑपरेबिलिटी काम नहीं कर रहा
  • बाहर पैमाने पर नहीं किया जा सकता आसानी से
  • प्रदर्शन काफी
  • वर्तमान मैसेजिंग समाधान महंगा है अच्छा नहीं है:

    आप की तरह समस्या है, तो)

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