2012-07-06 11 views
8

enter image description hereRabbitMQ

के लिए एकल उपभोक्ता बहु कतार मॉडल लागू करने के लिए मैं कैसे मिल गया है इस छवि को बहुत अपना bussiness मॉडल के समान है। मुझे कुछ कतार में संदेश विभाजित करने की जरूरत है। कुछ भारी काम के लिए । मैं उनके लिए अधिक कार्यकर्ता धागा जोड़ सकता हूं। लेकिन कुछ के लिए कोई भारी काम नहीं है। मैं एकल उपभोक्ता को उनके संदेश की सदस्यता लेने दे सकता हूं। लेकिन खरगोश एमक्यू में ऐसा कैसे करें। उनके दस्तावेज़ के माध्यम से। मैंने अभी पाया कि एकल-कतार-बहु-उपभोक्ता मॉडल।

+0

[प्रारंभ करना] (http://www.rabbitmq.com/getstarted.html) ट्यूटोरियल देखें। जब मैंने पहली बार खरगोश एमक्यू को देखा, तो मैंने अपने ट्यूटोरियल पाये और वास्तव में अच्छा होने में मदद की। विशेष रूप से, [विषय] (http://www.rabbitmq.com/tutorials/tutorial-five-python.html) अनुभाग देखें - उदाहरण के लिए, आप रूटिंग कुंजी के आधार पर एकाधिक कतारों की सदस्यता ले सकते हैं। – AdaTheDev

उत्तर

1
  1. आप
  2. कई एक मुद्रा के लिए बाध्य कतारों
  3. नहीं हो सकता है एक कतार के लिए कई कार्यकर्ताओं जोड़ सकते हैं।

खरगोश एमक्यू में, निर्माता हमेशा संदेश को एक एक्सचेंज भेजता है। तो, आपके मामले में, मुझे उम्मीद है कि केवल एक एक्सचेंज पर्याप्त है। यदि आप उपभोक्ता पक्ष में संतुलन लोड करना चाहते हैं, तो आपके ऊपर उपरोक्त दो विकल्प हैं।

तुम भी मेरे लेख पढ़ सकते हैं: https://techietweak.wordpress.com/2015/08/14/rabbitmq-a-cloud-based-message-oriented-middleware/

0

RabbitMQ एक बहुत लचीला मॉडल है, जो जगह लेने के लिए मार्ग परिदृश्यों की एक विस्तृत विविधता के लिए सक्षम बनाता है।

  1. मुझे कुछ कतार में संदेश विभाजित करने की आवश्यकता है। कुछ भारी काम के लिए। मैं उनके लिए अधिक कार्यकर्ता धागा जोड़ सकता हूं।

हां, यह प्रत्यक्ष विनिमय के माध्यम से समर्थित है। एक रूटिंग कुंजी का उपयोग करके एक संदेश प्रकाशित करें जो कतार के नाम के समान है। सुविधा के लिए, मान लीजिए कि आप पूरी तरह से योग्य ऑब्जेक्ट नाम का उपयोग करते हैं (उदा। MyApp.Objects.DataTypeOne)। आपको बस इतना करना है कि इस कतार में एकाधिक खपत प्रक्रियाओं की सदस्यता लें, और खरगोश एमक्यू राउंड-रॉबिन दृष्टिकोण का उपयोग करके लोड-बैलेंस करेगा।

  1. लेकिन कुछ के लिए कोई भारी काम नहीं है। मैं एकल उपभोक्ता को उनके संदेश की सदस्यता लेने दे सकता हूं।

हाँ, आप यह भी कर सकते हैं। उपरोक्त अनुच्छेद में वही प्रक्रिया। बस कई उपभोग प्रक्रियाओं को संलग्न न करें।

मुझे पता चला है कि यह छवि मेरे व्यापार मॉडल के समान ही है।

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

चित्र पर सब कुछ खरगोश एमक्यू/एएमक्यूपी सिस्टम के उपयोगकर्ता के रूप में पूरी तरह से आपके नियंत्रण में है। आप प्रकाशकों की मनमाने ढंग से संख्या बना सकते हैं और मनमाने ढंग से कतारों से उपभोग करने वाली प्रत्येक उपभोग करने वाली प्रक्रियाओं की मनमानी संख्या बना सकते हैं। कोई कठोर और तेज़ सीमा नहीं है, हालांकि कुछ व्यावहारिक पहलू हैं जिन्हें आप शायद यह सुनिश्चित करना चाहते हैं कि आपका सिस्टम बनाए रखा जा सके।