संदेश डुप्लिकेशन-निवारण और सुसंगत हैश एक्सचेंज प्लगइन
दो व्यावहारिक RabbitMQ प्लगइन का अध्ययन कीजिए: भार वितरण के लिए सुसंगत हैश एक्सचेंज और ऐसा डुप्लिकेशन-निवारण जो ठीक-एक-बार प्रसंस्करण बनाए रखता है।
संदेश डुप्लिकेशन-निवारण और सुसंगत हैश एक्सचेंज प्लगइन, CoddyKit पर RabbitMQ संदेश-प्रणाली और अतुल्यकालिक प्रणालियाँ का एक निःशुल्क पाठ है। यह 4 में से 4वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह RabbitMQ संदेश-प्रणाली और अतुल्यकालिक प्रणालियाँ सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। RabbitMQ संदेश-प्रणाली और अतुल्यकालिक प्रणालियाँ पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
अंतर्निर्मित एक्सचेंजों से आगे
RabbitMQ प्लगइन ब्रोकर में नए एक्सचेंज प्रकार और व्यवहार जोड़ते हैं। इनमें से दो उपयोगी प्लगइन सुसंगत हैश एक्सचेंज और संदेश दोहराव-निवारण हैं।
लोड वितरण की समस्या
Fanout सभी कतारों में प्रसारण करता है; direct मिलान वाली कतारों को भेजता है। इनमें से कोई भी कुंजी के आधार पर किसी धारा को कतारों के समूह में समान रूप से नहीं फैलाता।
सुसंगत हैश एक्सचेंज इस समस्या का समाधान करता है।
प्लगइन सक्षम करना
उपयोग से पहले ब्रोकर पर प्लगइन सक्षम करें।
rabbitmq-plugins enable rabbitmq_consistent_hash_exchangeएक्सचेंज घोषित करना
x-consistent-hash प्रकार का एक्सचेंज घोषित करें।
channel.exchange_declare(
exchange='shards',
exchange_type='x-consistent-hash'
)भार के साथ बाइंड करना
बाइंडिंग कुंजी के रूप में संख्यात्मक भार देकर कतारों को जोड़ें। अधिक भार का अर्थ है हैश रिंग का बड़ा हिस्सा।
channel.queue_bind(queue='shard-1', exchange='shards', routing_key='10')
channel.queue_bind(queue='shard-2', exchange='shards', routing_key='10')हैशिंग किस प्रकार वितरण करती है
एक्सचेंज प्रत्येक संदेश की रूटिंग कुंजी का हैश निकालकर उसे रिंग पर मैप करता है और एक जुड़ी हुई कतार को भेजता है। एक ही कुंजी हमेशा एक ही कतार में पहुँचती है, जिससे स्थिर वितरण मिलता है।
हैशिंग के उपयोग के मामले
- ग्राहक या इकाई आईडी के आधार पर कार्य का विभाजन
- समानांतर कार्यकर्ताओं के बीच प्रति-कुंजी क्रमबद्धता बनाए रखना
- मैन्युअल विभाजन के बिना भार का समान वितरण
डुप्लिकेट डिलीवरी की समस्या
RabbitMQ कम-से-कम-एक-बार डिलीवरी की गारंटी देता है, इसलिए पुनः प्रयास से डुप्लिकेट बन सकते हैं। दोहराव-निवारण यह सुनिश्चित करता है कि एक ही तार्किक संदेश को केवल एक बार संसाधित किया जाए।
दोहराव-निवारण प्लगइन
सामुदायिक दोहराव-निवारण प्लगइन ऐसा एक्सचेंज जोड़ता है जो TTL अवधि के भीतर हाल में देखे गए दोहराव-निवारण हेडर वाले संदेशों को हटा देता है।
props = pika.BasicProperties(headers={'x-deduplication-header': 'order-42'})प्लगइन बनाम अनुप्रयोग दोहराव-निवारण
प्लगइन सुविधाजनक है, लेकिन इसकी सीमा कैश अवधि तक है। मजबूत गारंटी के लिए अपने अनुप्रयोग डेटाबेस में संसाधित आईडी भी संग्रहीत करें, ताकि अतिरिक्त सुरक्षा मिल सके।
संचालन संबंधी टिप्पणियाँ
- क्लस्टर के प्रत्येक नोड पर प्लगइन सक्षम होने चाहिए
- अपने ब्रोकर के साथ संस्करण संगतता की पुष्टि करें
- इस पर निर्भर होने से पहले फ़ेलओवर व्यवहार की जाँच करें
त्वरित जाँच
प्लगइन संबंधी अपने ज्ञान की जाँच करें।
पुनरावलोकन
सुसंगत हैश एक्सचेंज रूटिंग कुंजी का हैश निकालकर संदेश धारा को कतारों में समान रूप से और स्थिर रूप से वितरित करता है, जबकि दोहराव-निवारण प्लगइन कैश अवधि के भीतर दोहराए गए संदेशों को हटा देते हैं।
सभी क्लस्टर नोड पर प्लगइन सक्षम करें और मजबूत गारंटी के लिए दोहराव-निवारण को अनुप्रयोग-स्तरीय जाँच से समर्थित करें।
एआई शिक्षक के साथ RabbitMQ संदेश-प्रणाली और अतुल्यकालिक प्रणालियाँ सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 11
- पाठ
- 44
अक्सर पूछे जाने वाले प्रश्न
क्या “संदेश डुप्लिकेशन-निवारण और सुसंगत हैश एक्सचेंज प्लगइन” पाठ निःशुल्क है?
हाँ — RabbitMQ संदेश-प्रणाली और अतुल्यकालिक प्रणालियाँ अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “संदेश डुप्लिकेशन-निवारण और सुसंगत हैश एक्सचेंज प्लगइन” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। RabbitMQ संदेश-प्रणाली और अतुल्यकालिक प्रणालियाँ पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“संदेश डुप्लिकेशन-निवारण और सुसंगत हैश एक्सचेंज प्लगइन” में मैं क्या सीखूँगा?
दो व्यावहारिक RabbitMQ प्लगइन का अध्ययन कीजिए: भार वितरण के लिए सुसंगत हैश एक्सचेंज और ऐसा डुप्लिकेशन-निवारण जो ठीक-एक-बार प्रसंस्करण बनाए रखता है। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ RabbitMQ संदेश-प्रणाली और अतुल्यकालिक प्रणालियाँ का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या RabbitMQ संदेश-प्रणाली और अतुल्यकालिक प्रणालियाँ शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर RabbitMQ संदेश-प्रणाली और अतुल्यकालिक प्रणालियाँ शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 4वाँ पाठ है।
“संदेश डुप्लिकेशन-निवारण और सुसंगत हैश एक्सचेंज प्लगइन” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस RabbitMQ संदेश-प्रणाली और अतुल्यकालिक प्रणालियाँ पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर RabbitMQ संदेश-प्रणाली और अतुल्यकालिक प्रणालियाँ पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- विलंबित संदेश प्लगइन
- फेडरेशन के लिए शॉवेल प्लगइन
- क्लस्टरिंग के लिए फेडरेशन प्लगइन
- संदेश डुप्लिकेशन-निवारण और सुसंगत हैश एक्सचेंज प्लगइन