2013-01-04 15 views
31

मैं पढ़ रहा था इस question और corresponding answer और जवाब की पहली पंक्ति में शब्द JMS दलाल द्वारा भ्रमित किया गया:जेएमएस ईको सिस्टम में जेएमएस ब्रोकर की ज़िम्मेदारी क्या है?

एमएस (ActiveMQ एक JMS दलाल कार्यान्वयन है)

मैं करना चाहते हैं पता है कि JMS broker वास्तव में क्या है और इसकी जिम्मेदारियां क्या हैं?

Wikipedia page on JMS जेएमएस ईको सिस्टम में कई ग्यारहियों को सूचीबद्ध करता है लेकिन ब्रोकरों के बारे में इसका उल्लेख नहीं करता है।

उत्तर

45

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

  • एक संदेश कतार केवल संदेश हेडर पर लग रहा है जहां संदेश भेजने के लिए यह पता लगाने की, संदेश कतार संदेश के मुख्य भाग की जांच या किसी कोड है कि संदेश के मुख्य भाग की सामग्री को बदल देती है निष्पादित नहीं करता है। संदेश कतार मिशन संदेश वितरित करना है, अंततः, एक बार और केवल एक बार, और ताकि वे भेजे गए हों।
  • एक संदेश ब्रोकर एक प्रोग्रामिंग वातावरण प्रदान करता है जहां आप संदेश परिवर्तन कोड आसानी से और कुशलता से लिख सकते हैं। उदाहरण के लिए आपको प्रारूप ए से किसी संदेश की सामग्री को प्रारूप बी में बदलने की आवश्यकता हो सकती है और आप पुराने क्लाइंट नहीं चाहते हैं जो प्रारूप ए का उपयोग फिर से लिखे जाएं ताकि आप एक संदेश अनुवादक प्रोग्राम लिख सकें और इसे संदेश में तैनात कर सकें दलाल। इस मामले में message broker संभवतः एक अलग मशीन पर चल रहा है जो संदेश प्रसंस्करण कोड चलाने के लिए ज़िम्मेदार है।

संदेश दलालों के बड़े मूल्य है कि वे समवर्ती संदेश हैंडलिंग, असफल ओवर तर्क के प्रसंस्करण के लिए, संसाधन तर्क की तैनाती, निगरानी और लॉगिंग ... आदि के बारे में सोचो के लिए आप के लिए कुछ वास्तव में अच्छा कर सकते हैं है एक संदेश ब्रोकर संदेश प्रसंस्करण कोड लिखने के लिए एक विशेष अनुप्रयोग सर्वर के रूप में, संभवतः एक कस्टम उच्च स्तरीय भाषा में। उदाहरण के लिए आईबीएम संदेश ब्रोकर को एक ईएसक्यूएल में एक आरेख और नोड्स के साथ एसक्यूएल के विस्तार के साथ प्रोग्राम किया जा सकता है जिसे आप एक-दूसरे से जोड़ते हैं। एक संदेश बोरकर के लिए लिखे गए कार्यक्रम छोटे से होंगे यदि आप सादा जेएमएस का उपयोग करके अपने सभी कोड लिखते हैं।

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

संबंधित मुद्दे