दो उद्यम एकीकरण पैटर्न कमांड संदेश और ईवेंट संदेश हैं । मैं एक ऐसी प्रणाली पर काम कर रहा हूं जिसमें हम न केवल अन्य प्रणालियों के साथ एकीकरण के लिए, बल्कि सेवाओं के बीच आंतरिक संचार के लिए संदेश का उपयोग करते हैं। यह अंततः एक सुसंगत प्रणाली माना जाता है, और सेवाओं को एक दूसरे से अनभिज्ञ माना जाता है (कुछ विशेष प्रयोजन सेवाओं के अपवाद के साथ)। जैसे, हम उन चीजों से बचने की कोशिश करते हैं जो दूरस्थ प्रक्रिया कॉल (आरपीसी या आरपीआई) की तरह महसूस करती हैं । हमारे पास एक बस और संदेश-उन्मुख मिडलवेयर सिस्टम है, और सभी संदेश प्रसारित होते हैं।
हम अपने संदेशों को घटनाओं के रूप में नाम देते हैं, अर्थात्, पिछले परिपूर्ण में एक वाक्यांश के रूप में, उदाहरण के लिए PurchaseOrderShipped
। हालांकि, घटनाओं को अक्सर केवल तभी जोड़ा जाता है जब कुछ अन्य सेवाओं को उनके बारे में जानने की आवश्यकता होती है, और शुरुआत में, अक्सर केवल एक सेवा की देखभाल होती है। इसके अलावा, कभी-कभी यह सेवा एक घटना के परिणामस्वरूप होती है, जिसे पहली सेवा द्वारा सुना जाता है। इस प्रकार यदि मैं इंटरैक्शन को आरेखित करता हूं, तो यह घटना संदेश के लिए एक से अधिक लिंक (या यहां तक कि आरपीसी आरेख) में कमांड संदेश के लिए आरेख की तरह दिखाई देगा, हालांकि एक बार फिर, यह वास्तव में इसके साथ लागू नहीं होता है प्रत्यक्ष संदेश लेकिन एक बस पर प्रसारित। उस तथ्य में जोड़े है कि मैं हाल ही में कुछ संदेश है कि है, अनिवार्य में एक मुहावरा है, उदाहरण के लिए, आदेश के रूप में नामित कर रहे हैं कि जोड़ा जा रहा है देखा है BillShippedPurchaseOrder
।
विचित्र बात यह है कि संदेशों के नाम और उनके प्रवाह के तरीके में परिवर्तन नहीं होता है चाहे इसे एक घटना के रूप में या एक कमांड के रूप में नाम दिया गया हो। तो कोई यह कैसे निर्धारित करता है कि कुछ एक कमांड संदेश या एक घटना होनी चाहिए? क्या यह सिर्फ शब्दार्थ और नामकरण का अंतर है, या कमांड और ईवेंट संदेशों के बीच वास्तविक कार्यान्वयन अंतर है? यह देखते हुए कि हमारे सभी संदेश प्रसारित होते हैं, क्या इसका मतलब यह है कि उनमें से कोई भी वास्तव में कमांड संदेश नहीं हैं?
request for information
कार्यक्षमताओं को कैसे लागू करते हैं? ऐसा लगता है कि कुछ का उपयोग करना स्वाभाविक है,getUserInfo(uid)
जो एक प्रतिक्रिया व्यक्त करने के लिए एक आदेश संदेश है। मुझे पता है कि कमांड संदेश युग्मन का परिचय देते हैं, लेकिन दुख की बात है कि इस मामले में, मैं यह नहीं देखता कि इसे घटना संदेशों के साथ कैसे लागू किया जाए। या इस तरह से कुछ अवसरों पर संदेश भेजने के लिए छड़ी करना ठीक है?