मैं गो माइक्रो फ्रेमवर्क का उपयोग करके एक माइक्रोसर्विस लिखने की कोशिश कर रहा हूं जो एक रैबिटएमक्यू ब्रोकर से उपभोग करने वाला है और दूसरे को लिखें।

गो माइक्रो में एक रैबिटएमक्यू प्लगइन है, हालांकि ऐसा लगता है कि अगर कोई गो माइक्रो एब्स्ट्रैक्शन (जैसे micro.RegisterSubscriber) का उपयोग करना चाहता है, तो उसे पुस्तकालय में आंतरिक रूप से बहुत सारे वैश्विक राज्यों पर निर्भर रहना पड़ता है। मैंने micro.RegisterSubscriber का उपयोग करके एक उपभोक्ता की स्थापना समाप्त की और फिर किसी भी आंतरिक वैश्विक स्थिति (जैसे डिफ़ॉल्ट एक्सचेंज) का उपयोग न करने के लिए मैन्युअल रूप से एक अलग ब्रोकर बनाना और फिर उपभोक्ता फ़ंक्शन के भीतर broker.Publish को कॉल करना जिसका मतलब था कि मैं इसे भेजने से पहले मैन्युअल रूप से संदेश को मार्शल करना पड़ा।

क्या यह गो माइक्रो में समर्थित पैटर्न नहीं है? क्या ऐसा कुछ करने का कोई बेहतर तरीका है?

मुझे यह उल्लेख करना चाहिए कि इस विशेष मामले में गो माइक्रो को चुनने का मुख्य कारण यह है कि ऐसा लगता है कि रीकनेक्ट समर्थन के साथ एक विश्वसनीय रैबिटएमक्यू एब्स्ट्रैक्शन है जो कि गो में आना मुश्किल लगता है, जरूरी नहीं क्योंकि मुझे इस मामले में आरपीसी समर्थन की आवश्यकता है। .

1
Alexandre Thenorio 11 फरवरी 2019, 23:26

1 उत्तर

सबसे बढ़िया उत्तर

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

अलग से, मैंने एक ऐसी सेवा विकसित की है जो संदेश संघ करने के लिए कई दलालों को लोड करती है। यह आपके लिए रुचिकर हो सकता है https://github.com/microhq/federation-srv

1
Asim Aslam 12 फरवरी 2019, 16:23