भंडारण की प्रक्रिया कार्यान्वयन विवरण हैं। डेटाबेस फ़ंक्शंस, लैम्ब्डा या एक शेल स्क्रिप्ट जो फ़ाइल सिस्टम में कहीं संग्रहीत है, वास्तुकला के लिए सभी कार्यान्वयन विवरण और अप्रासंगिक हैं।
microservices पर अधिकांश किताबें प्रति microservice एक डेटाबेस की सलाह देते हैं।
ठीक है, इसलिए हम इन डेटाबेस में संग्रहीत प्रक्रियाओं को कोड कर सकते हैं।
फिर से अधिकांश माइक्रोसिस्ट आर्किटेक्चर बुक्स बताती हैं कि उन्हें स्वायत्त और शिथिल युग्मित होना चाहिए
व्यावसायिक क्षमताओं के बीच, विकास के जीवन चक्र, प्रबंधन, तैनाती, टीम के स्थान आदि, कार्यान्वयन विवरण के साथ कुछ नहीं करना है। माइक्रोसोर्सेज एक तकनीकी समस्या (सिर्फ विपरीत) का समाधान नहीं करते हैं। वे प्रबंधन और समय-समय पर बाजार के साथ समस्याओं को हल करने के लिए आते हैं। यह रणनीति है, रणनीति नहीं। कम से कम लागत के साथ असफल-तेज़ का एक तरीका। यदि एक निश्चित व्यावसायिक क्षमता बेकार साबित होती है, तो हम इसे अन्य क्षमताओं, तैनाती, परियोजनाओं के प्रबंधन, रिलीज को गड़बड़ किए बिना छोड़ देते हैं ...
ध्यान दें कि "स्प्लिट" पहले से ही डिकॉउलिंग एजेंट की तरह काम करता है। मान लें कि हमारी दो सेवाएँ हैं, A ओरेकल और B द्वारा MongoDB द्वारा समर्थित है। यदि हम डिकॉउलिंग के सुनहरे नियम को नहीं तोड़ते हैं, तो बी पर नगण्य दुष्प्रभाव के साथ ए + ओरेकल को गिराना संभव है।
लिखित रूप में संग्रहीत प्रक्रियाओं का उपयोग करते हुए, विशेष रूप से ओरेकल में कहते हैं, कसकर जोड़े को उस तकनीक के लिए microservice।
यह वेंडर लॉक-इन का कारण हो सकता है। कई बार, विक्रेता को ऐतिहासिक या अनुबंध के कारणों के कारण व्यवसाय द्वारा लगाया जाता है 1 । यह जानना महत्वपूर्ण है कि विक्रेता को हमारे कोड को कैसे लॉक नहीं किया जाए। उदाहरण के लिए, कुछ ओआरएम और फ्रेमवर्क एक नई क्वेरी भाषा को लागू करते हैं जो डेटाबेस में निर्मित कार्यों और सुविधाओं को छुपाता है।
यद्यपि, यदि हमारी सेवाएं पर्याप्त रूप से सूक्ष्म हैं, तो विक्रेता लॉक-इन अब एक समस्या नहीं है क्योंकि यह पूरे के एक छोटे हिस्से को प्रभावित करता है। एक छोटा हिस्सा जिसे जल्दी से प्रतिस्थापित (या पृथक) करना संभव है।
अधिकांश MSA पुस्तकें (जो मैंने पढ़ी हैं) अनुशंसा करती हैं कि माइक्रोसोर्सेज को व्यवसाय उन्मुख (DDD का उपयोग करके डिज़ाइन किया गया) होना चाहिए।
यह व्यवसाय-चालित होना चाहिए और यहाँ बात। सभी व्यवसाय DDD का लाभ नहीं उठाते हैं। DDD और microservices कई बिंदुओं में ओवरलैप करते हैं, लेकिन वे कारण-प्रभाव नहीं होते हैं। हम anemic सेवाओं से बना एक microservices पारिस्थितिकी तंत्र के साथ समाप्त हो सकता है। या दोनों के मिश्रण से बना है: एक जटिल डोमेन को लागू करने वाली सेवाएं और सीधे DB से POJOs प्रदान करने वाली एनीमिक सेवाएं। इसमें कुछ भी गलत नहीं है।
पुस्तकों के बारे में, वे केवल रणनीति के निष्पादन पर ध्यान केंद्रित करते हैं। रणनीति - वितरित कंप्यूटिंग का लाभ कैसे उठाया जाए - कैसे इसे सफलता के लिए काम किया जाए, लेकिन वे रणनीति के लिए (आमतौर पर) अज्ञेय हैं। रणनीतियाँ कंपनी से कंपनी में भिन्न होती हैं और शायद ही कभी डेवलपर्स पर निर्भर करती हैं। इसलिए, हमें अभी भी अपनी विशिष्ट आवश्यकताओं, आवश्यकताओं और बाधाओं के बारे में क्या कहना है, इसे अतिरिक्त रूप से बदलना और अनुकूलित करना है। लक्ष्य व्यापार रणनीति को लाभदायक और टिकाऊ बनाना है।
हमेशा ध्यान रखें कि कोई भी वास्तुकला एक अंत का साधन है। व्यापार नियम। हम फैशन के लिए या कला के प्रति प्रेम के लिए माइक्रोसिस्टम्स इकोसिस्टम का निर्माण नहीं करते हैं।