एक संदेश ब्रोकर और एक ईएसबी के बीच अंतर


126

मैं मैसेज ब्रोकर्स और ईएसबी (स्टैकओवरफ्लो पर भी) विभिन्न प्रश्नों / लेखों के माध्यम से गया हूं। अभी भी एक सुराग नहीं है कि एक संदेश ब्रोकर और एक ईएसबी के बीच स्पष्ट सीमांकन अंतर क्या है? अब यहाँ मैं उत्पादों की तुलना करने की कोशिश कर रहा हूँ, वेब्सफेयर ब्रोकर और खच्चर ESB !!

सबसे पहले, (किसी भी संस्करण) Webshere ब्रोकर एक ESB है? हमारे आईबीएम उत्पाद लोग इसे ईएसबी होने का दावा करते हैं! (मैं इसके बारे में आश्चर्यचकित नहीं हूं)।

मेरी सीमित जानकारी मुझे बताती है कि एक संदेश ब्रोकर एक एचयूबी-स्पोक मॉडल पर काम करता है। हालांकि ईएसबी एक बस वास्तुकला पर काम करता है। अब पृथ्वी पर इसका क्या मतलब है? मैंने पढ़ा है कि अगर HUB विफल रहता है (अनुपलब्ध मुझे लगता है) तो ब्रोकर पूरी तरह से विफल हो जाता है। जो ईएसबी का मामला नहीं है (इसलिए वे लोग कहते हैं)। यहाँ मुझे समझ नहीं आया कि "क्या होगा अगर बस" विफल हो जाए?

अब ESBs और ब्रोकर्स के बारे में सामान्‍य बात यह है कि वे रूटिंग, ट्रांसफॉर्मेशन, ऑर्केस्‍ट्रेशन आदि प्रदान करते हैं। इसलिए यदि वे दोनों इसे प्रदान करते हैं, तो मैं एक को दूसरे पर क्‍यों चुनूंगा।

संघर्ष का एक अन्य क्षेत्र परिवर्तन के संबंध में है। क्या संदेश ब्रोकरों की तुलना में ईएसबी इसे एक अलग तरीके से सुविधा प्रदान करता है? मैं वास्तव में इस पर कुछ अंतर्दृष्टि प्यार करेंगे।

अब HORIZONTAL स्केलिंग के बारे में बात कर रहे हैं। कौन किससे बेहतर प्रदर्शन करता है? या दोनों ही जटिलता (या किसी अन्य कारक) के मामले में समान रूप से मापनीय हैं। बिल्कुल बुद्धिमान लागत, वेब्सपियर ब्रोकर आपको प्रत्येक बॉक्स के लिए शुल्क देने वाला है (प्रत्येक सीपीयू को अकेला छोड़ दें)। मुझे विश्वास है, यहां तक ​​कि वाणिज्यिक MULE ESB भी ऐसा नहीं करता है। इसके लागत भाग को छोड़कर, ईएसबी स्केलिंग और संदेश ब्रोकर स्केलिंग के निहितार्थ क्या हैं। मुझे पता है कि आप ईएसबी में सर्विस लेवल तक बढ़ सकते हैं। क्या संदेश ब्रोकर में यह संभव है?


वास्तव में खच्चर की प्रति-सीपीयू / कोर लाइसेंसिंग भी है।
उदी दहन

जवाबों:


28

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

एक ब्रोकर के पास ESB उत्पाद की तुलना में एक परिवर्तन श्रृंखला के निर्माण के लिए बेहतर तरीके से "लेगो ब्लॉक" हो सकता है। ईएसबी के रूप में सेवा में दबाए गए एक दलाल को लोड के तहत कुचल दिया जा सकता है और अच्छी तरह से स्केल नहीं किया जा सकता है, या जर्नल से निपटने के लिए मजबूत जर्नलिंग और टूल्स की कमी हो सकती है।

कुछ ESBs डेटाबेस अद्यतनों को वापस ले जाने की अनुमति देते हैं और एक सही तर्क में फिर से शुरू होने के लिए कतारों को एक तर्कपूर्ण त्रुटि के रूप में उजागर और तय किया गया है। मुझे नहीं लगता कि अधिकांश दलाल लेन-देन के समर्थन के स्तर को एकीकृत करते हैं। इसके लिए आपके सभी "लेन-देन" पर काम करने के लिए लगभग RPCish "डेटाबेस अपडेट" जैसे कुछ के बजाय व्यावसायिक घटनाओं (एक बिक्री, एक नवीकरण, स्वामित्व का परिवर्तन आदि) होना चाहिए।


5
मैंने बस एक ब्लॉग पोस्ट लिखी जिसमें एकीकरण तत्वों का वर्णन किया गया था जो अक्सर सर्विस बसों के लिए जिम्मेदार होते हैं, इसके परिवर्तन पक्षों को भी कवर करते हैं: udidahan.com/2011/04/08/integration-how-and-where
Udi Dahan

23

अस्वीकरण: मैं एक आईबीएम सलाहकार हूं और वेबस्फेयर ईएसबी में विशेषज्ञ हूं। यह टिप्पणी किसी भी आधिकारिक क्षमता में नहीं बची है।

ESB एक उत्पाद की तुलना में एक वास्तुशिल्प पैटर्न या अवधारणा से अधिक है - मोटे तौर पर, इंजीनियरिंग ढीली युग्मन का एक सेवा-आधारित तरीका। इसकी परिभाषा पर लड़ी गई है और पत्थर में बिल्कुल सेट नहीं है। सामान्य तौर पर, एक ईएसबी असंबंधित (एक तकनीकी अर्थ में) सेवाओं से बना होता है - वे इंटरफेस को उजागर करते हैं, और वे अन्य सेवाओं के लिए उनका उपभोग करते हैं। आम तौर पर इसमें हब और स्पोक आर्किटेक्चर शामिल नहीं होता है, हालाँकि हो सकता है।

IBM निश्चित रूप से WebSphere Message Broker और WebSphere ESB दोनों को बाजार में उतारे, क्योंकि यह ESB (DataPower हार्डवेयर उपकरण के साथ) का निर्माण करना आसान बनाता है। उनकी अलग-अलग तकनीकी जड़ें हैं, लेकिन उद्देश्य में कुछ ओवरलैप हैं। इसके अलावा, यह नहीं कहा जा सकता है कि आप बहुत से अन्य चीजों के साथ ईएसबी का निर्माण नहीं कर सकते हैं जो 'ईएसबी उत्पाद' के रूप में ब्रांडेड नहीं हैं।

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


धन्यवाद एंड्रयू। मुझे यह जानकर खुशी हुई कि आप वेबस्फेयर ईएसबी पर एक विशेषज्ञ हैं। मेरे पास एक बात स्पष्ट है। ईएसबी एक उत्पाद नहीं है और यह एक मौलिक वास्तुशिल्प दृश्य है: एक बस। तो, यदि ईएसबी केवल 2002 के बाद से जगह में है। यह भी क्यों गढ़ा गया था? मेरा मानना ​​है कि "Invented ESB" के रूप में बहुत बहस हो रही है। यदि Websphere Broker को "सभी सामान" किया जा सकता है, जो एक ESB करता है, तो वह ESB उत्पाद होने का दावा क्यों करता है? मैंने ऐसा नहीं देखा है? रेड बुक जो आपको दिखाता है "कैसे लागू करें" Websphere ब्रोकर के साथ एक ईएसबी।
फ्रैंकलिन

7
मैं वास्तव में नहीं जानता कि क्या यह एक अच्छा सादृश्य है। हमारे घर की नौकरानी मेरे लिए खाना बनाती है। मेरी मां भी मेरे लिए खाना बनाती। हालाँकि, मैं अपनी माँ को गृहिणी नहीं कह सकता, हालाँकि वह एक गृहिणी के कर्तव्यों को करती है, क्या मैं (यदि मैंने ऐसा किया, तो रात के खाने का अंत हो सकता है)? एक मूलभूत अंतर है जिसे दूर नहीं किया जा सकता है।
फ्रैंकलिन

गार्टनर के सबसे वरिष्ठ मिडलवेयर विश्लेषक, रॉय शुल्ते ने कहा कि: "ESB के लिए सबसे प्रत्यक्ष पूर्वज 1998 से कैंडल का रोमा उत्पाद था, जिसे बाद में कैंडल पाथवई कहा गया।" अप्रैल 2004 में मोमबत्ती आईबीएम द्वारा अधिग्रहित की गई थी - एक विडंबना यह है कि तिबोको या सोनिक सॉफ्टवेयर पर भी खोई नहीं जाएगी, क्योंकि आईबीएम ने हाल ही में यह दावा करना शुरू कर दिया है कि इसका अपना ईएसबी भी है - आईबीएम के स्टीव मिल्स ने कंप्यूटरवायर को बताया कि: "I पता है कि हम [एक ESB है], वास्तव में मैं कई वर्षों से ESB कार्यक्षमता प्रदान कर रहा हूँ। "
फ्रैंकलिन

1
यहाँ कौन पढ़े "ईएसबी आविष्कारक" RIDDLE सॉल्वड businessreviewonline.com/blog/archives/2005/08/…
फ्रैंकलिन

19

एक संदेश ब्रोकर और एक ईएसबी (एंटरप्राइज सर्विस बस) के बीच का अंतर मुख्य रूप से 'बस' शब्द है।

मेरे लिए, एक संदेश ब्रोकर एक (usally बड़ी) प्रक्रिया है जो डेटा को एक संरचना से दूसरी संरचना में परिवर्तित करती है या सामग्री को संशोधित करती है।

ईएसबी एक संदेश उन्मुख मिडलवेयर (एमओएम) प्लस अतिरिक्त सेवाएं हैं, जिनमें से एक संदेश ब्रोकर हो सकता है। इसलिए ईएसबी एक घटक के रूप में एक संदेश ब्रोकर शामिल कर सकता है। एक बस में एक से अधिक प्रक्रियाएँ होती हैं, अन्यथा मैं इसे 'बस' नहीं कहता। एक बस की प्रकृति यह है कि विभिन्न कार्यों की सेवा देने वाले कई घटक होते हैं, प्रत्येक एक MOM पर संचार करता है और किसी न किसी रूप में 'सामान्य डेटा प्रारूप' का पालन करता है। एक बस में शामिल होगा: एमओएम, डेटाबेस एडेप्टर, मैसेज ब्रोकर्स, एमओएम ब्रिज आदि को डेटा भेजने वाले एप्लिकेशन।

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

रूपांतरण: एक ESB परिवर्तन के साथ मदद नहीं करता है, जब तक कि यह संदेश ब्रोकर के साथ नहीं आता है। लेकिन प्रत्येक अच्छे ईएसबी में वैसे भी एक संदेश ब्रोकर शामिल होना चाहिए। संदेश ब्रोकर परिवर्तनों के लिए आपके बस का विशेषज्ञ होना चाहिए, लेकिन कुछ और नहीं।

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

लेकिन अगर आपके पास कनेक्ट करने के लिए 30 एप्लिकेशन हैं, तो एक मैसेज ब्रोकर शायद पड़ाव पीसने के लिए आएगा। बेशक आप अधिक उदाहरण खरीद सकते हैं, चीजों को बेमानी कर सकते हैं, आदि, लेकिन आपको अपनी रणनीति को 'स्थानीयकृत' नौकरियों में बदलना चाहिए। प्रत्येक एप्लिकेशन के एडेप्टर (प्रत्येक में एक छोटा सा संदेश ब्रोकर उदाहरण हो सकता है) को एक सामान्य कॉमन डेटा मॉडल (जैसे एक्सएमएल के साथ एक्सएमएल) उत्पन्न करने और / या प्राप्त करने में सक्षम होना चाहिए। परिवर्तन कार्यों के लिए एक केंद्रीय संदेश ब्रोकर भी हो सकता है, लेकिन वह उदाहरण डेटा मॉडल ए या बी से अनजान होना चाहिए। इसलिए एक ईएसबी को प्रसंस्करण को केंद्रीय स्थान पर रखने के बजाय विशेषज्ञ घटक को स्थानांतरित करना चाहिए।


15

मैंने अभी कुछ दिनों पहले उदी दहन का यह लेख पढ़ा था, जो आपको लगता है कि एक मौलिक अंतर है जो आपको अधिक स्पष्ट रूप से दे सकता है।

http://www.udidahan.com/2011/03/24/bus-and-broker-pubsub-differences

का हवाला देते हुए:

नियम यह है कि किसी दिए गए ईवेंट प्रकार के लिए केवल एक ही प्रकाशक हो सकता है, एक ऐसी चीज है जो दलालों से बसों को अलग करती है, हालांकि दोनों स्पष्ट रूप से आपको कई ग्राहक रखने की अनुमति देते हैं

...

दुर्भाग्य से, वहाँ कई ब्रोकर-शैली प्रौद्योगिकियां हैं जो एंटरप्राइज सर्विस बस के बैनर तले विपणन कर रही हैं। जबकि कुछ उत्पादों में एक केंद्रीकृत और वितरित फैशन (कभी-कभी "फेडरेटेड" या "एम्बेडेड" मोड) कहा जाता है, में तैनात किए जाने की क्षमता है, कई लोग "ईवेंट के प्रति एकल प्रकाशन बिंदु" नियम को लागू नहीं करते हैं।

इस बाधा के बिना, गलतियों को करना बहुत आसान है।

आशा करता हूँ की ये काम करेगा।


यह एक बेहतरीन लेख है, लेकिन टिप्पणियों में छोड़कर ईएसबी को संबोधित नहीं करता है।
नीलवैल्ट्स

6

एंटरप्राइज सर्विस बस व्यवसाय को तीन प्रमुख मूल्य प्रदान करती है:

  1. लेन-देन का संदर्भ- या सामग्री-आधारित रूटिंग;
  2. एक संदेश डोमेन या परिवहन से दूसरे संदेश डोमेन या परिवहन में परिवर्तन;
  3. कई-से-कई सेवा कनेक्टिविटी।

ईएसबी सेवाओं की ढीली युग्मन प्रदान करते हैं, सेवाओं को पहले अलग-अलग एप्लिकेशन संदर्भों में पुनर्गठित करने की अनुमति देते हैं, जब सेवाओं को पहले से ही विकसित या विकसित किया गया था, और अनुप्रयोगों को फिर से शुरू करने के लिए बिना अनुप्रयोगों के पुन: उपयोग को बढ़ावा देना। WebSphere Message Broker (या अब इसे IBM इंटीग्रेशन बस कहा जाता है) एंटरप्राइज सर्विस बस का एक प्रमुख उदाहरण है। कोड की सादगी की एक मिसाल के लिए, जो कुछ पंक्तियों में महान शक्ति को सहन करने के लिए लाती है, आप मेरी पोस्ट यहाँ देख सकते हैं: http://soabus.org/viewtopic.php?f=3&t=13 । IIB रनटाइम के अंदर मूलभूत निर्माण को कहा जाता है लॉजिकल मैसेज ट्री(LMT)। सब कुछ जो डेवलपर करना चाहता है वह LMT पर किसी प्रकार का ऑपरेशन है। ESQL सबसे कुशल भाषा है जिसे एक डेवलपर LMT पर इन कार्यों को करने के लिए उपयोग कर सकता है, हालांकि कई अन्य भाषाओं का समर्थन किया जाता है (उदाहरण के लिए, जावा, PHP, पायथन, आदि) कोई अन्य उत्पाद ESB को विकसित करने की दक्षता और आसानी के करीब नहीं आता है। आईबीएम इंटीग्रेशन बस की तुलना में इन अनुप्रयोगों के कोडिंग का 90 प्रतिशत फूस पर नोड्स को खींचने और छोड़ने के द्वारा किया जाता है। मैसेज फ्लो डेवलपर द्वारा की जाने वाली कोडिंग का केवल 10 प्रतिशत ही निकलता है। वैसे, IBM द्वारा WebSphere ESB को बंद कर दिया गया है और कई प्रतिस्पर्धी उत्पादों को IBM इंटीग्रेशन बस ने कई वर्षों तक उन पर कोई नया विकास नहीं देखा है। विभिन्न ESB उत्पाद प्रसादों की एक सूची soabus.org पर देखी जा सकती है।


इस उत्तर के लिंक जो soabus.org को इंगित करते हैं, अब समाधान नहीं करते हैं - वे archmule.com पर पुनर्निर्देशित हो जाते हैं।
tatlar

2

आईबीएम ने कभी भी अपने ईएसबी की पेशकश के नाम बदल दिए हैं, इसलिए मैं नामों या विक्रेताओं में नहीं जाऊंगा।

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

ईएसबी और संदेश ब्रोकर एक दूसरे के समानार्थक शब्द हैं, हालांकि ऊपर दिए गए जवाबों में से एक ने इस बात पर प्रकाश डाला है कि संदेश ब्रोकर पैटर्न बड़े ईएसबी डोमेन का एक हिस्सा है। ईएसबी में अक्षर "बी" कंप्यूटर वास्तुकला में बस (हार्डवेयर) के अनुरूप है। मदरबोर्ड या कंप्यूटर पर बस कंप्यूटर के कामकाज के लिए विभिन्न घटकों को जोड़ता है। ईएसबी एक सॉफ्टवेयर आधारित बस है जो एक उद्यम में विभिन्न सेवाओं को जोड़ती है। हब और स्पोक ईएसबी आर्किटेक्चर द्वारा समर्थित पैटर्न में से एक है। अखंड दुनिया में, ईएसबी उपलब्ध है यह सुनिश्चित करने के लिए प्रत्येक विक्रेता की अपनी उच्च उपलब्धता तैनाती वास्तुकला है। किसी भी ESB विक्रेता का हालिया प्रसाद माइक्रोसर्विस आधारित परिनियोजन मॉडल के संदर्भ में है या अपने क्लाउड में होस्ट किया गया है जिसे iPAAS के रूप में जाना जाता है। इसलिए यह सुनिश्चित करता है कि बस आपके तैनाती मॉडल के आधार पर स्व-चिकित्सा के साथ अस्थायी रूप से विफल या विफल नहीं होगी। चुने गए विक्रेता के आधार पर अलग-अलग सुविधाओं के साथ माइक्रोसॉफ़्ट आधारित तैनाती या IPAAS के साथ, ESB की अब ऑटो-स्केलिंग क्षमताएं (क्षैतिज या लंबवत) हैं।

ESB द्वारा प्रदान की जाने वाली बहुत उच्च स्तरीय क्षमताओं के लिए, आप निम्न लिंक के माध्यम से जा सकते हैं => https://en.wikipedia.org/wiki/Enterprise_service_bus

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.