में टॉपिक एक्सचेंज बनाम डायरेक्ट एक्सचेंज हमारे पास एक ऐसा एप्लीकेशन है जो खरगोश एमक्यू का उपयोग करेगा और टायर के बीच संदेशों को पारित करने के लिए कई अलग-अलग कतार हैं।रैबिटएमक्यू
प्रारंभ में, मैं कई प्रत्यक्ष एक्सचेंजों का उपयोग करने की योजना बना रहा था, प्रत्येक संदेश प्रकार के लिए एक के साथ, लेकिन ऐसा लगता है कि अलग-अलग रूटिंग कुंजी बाइंडिंग का उपयोग करके कतारों के साथ एक एकल विषय विनिमय करना एक ही चीज़ प्राप्त करेगा।
एक एकल एक्सचेंज होने के नाते ऐसा लगता है कि इसे बनाए रखना थोड़ा आसान होगा, लेकिन मैं सोच रहा था कि क्या कोई लाभ (यदि कोई है) इसे दूसरे तरीके से करने का कोई तरीका है?
विकल्प 1, का उपयोग कर कई प्रत्यक्ष आदान-प्रदान:
ExchangeA (type: direct)
-QueueA
ExchangeB (type: direct)
-QueueB
ExchangeC (type: direct)
-QueueC
विकल्प 2, एक विषय के विनिमय का उपयोग:
Exchange (type: topic)
-QueueA (receives messages from exchange with routing key of "TypeA")
-QueueB (receives messages from exchange with routing key of "TypeB")
-QueueC (receives messages from exchange with routing key of "TypeC")
मैं सहमत हूं। उचित रूटिंग कुंजी के साथ एकाधिक कतार प्रबंधित करने के लिए बहुत आसान है। विकल्प 1 का एकमात्र लाभ जो दिमाग में स्प्रिंग्स है कि अलग-अलग हार्डवेयर पर एकाधिक एक्सचेंजों को होस्ट किया जा सकता है जिससे लंबवत स्केलिंग प्राप्त हो सके। हालांकि, अगर आपके हार्डवेयर चट्टानों तो आपको कभी भी इस मार्ग को लेने की आवश्यकता नहीं हो सकती है। –
मुझे लगता है कि विषय का उपयोग करने का लाभ यह है कि भविष्य में ऐसा होता है कि आपको अपने एक्सचेंज में एकाधिक कतारों में एक ही संदेश भेजने की आवश्यकता है, तो आपका विकल्प 2 अधिक वांछनीय होगा। – gigi2