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