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

दिखाया गया है:

RabbitMQ में संदेश क्रमबद्धता का मसला तीन पहलुओं में विचार किया जाना चाहिए: संदेश भेजने का क्रम, कतार में संदेशों का क्रम, और संदेश सेवन का क्रम।

संदेश भेजने का क्रम

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

कतार में संदेशों का क्रम

RabbitMQ में, संदेश अंततः एक कतार में संग्रहीत होते हैं। एक ही कतार के भीतर, संदेशों का क्रम पहले आने वाले, पहले बाहर जाने के सिद्धांत पर आधारित है, जो कि RabbitMQ द्वारा नियमित किया गया होता है और आमतौर पर डेवलपर्स के लिए चिंता का कारण नहीं होता है।

ध्यान दें: विभिन्न कतारों में संदेशों की क्रमबद्धता की गारंटी नहीं है। उदाहरण के लिए, किसी मेट्रो स्टेशन में प्रवेश करते समय, यदि आप तीन कतारों में से किसी में शामिल होते हैं, तो विभिन्न कतारों के बीच स्टेशन में प्रवेश के क्रम की गारंटी नहीं हो सकती है।

संदेश सेवन का क्रम

संदेश क्रमबद्धता सुनिश्चित करने के विचार को चर्चा करते समय, हम सामान्यतः संदेश सेवकों के संदेश सेवन करने के क्रम की बात कर रहे होते हैं। ऐसे परिदृश्यों में जहां एक संदेश कतार से एकाधिक सेवाकर्ताओं द्वारा सेवन किया जाता है, सामान्यतः संदेश क्रमबद्धता की गारंटी नहीं की जा सकती है। जैसा कि प्रारंभिक चित्र में दिखाया गया है, हालांकि संदेश कतार में संदेशों का क्रमबद्ध होता है, लेकिन कई सेवाकर्ताएं समकालिक रूप से संदेश सेवन करने की स्पीड, व्यावसायिक तार्किक क्रियाओं की गति, और संभावित क्रियान्वयन अपवाद सभी संदेश क्रमबद्धता में असंगतता ल