मैं microservice आर्किटेक्चर पर शोध कर रहा हूँ जो सभी पेशेवरों और विपक्षों, व्हाट्सएप और व्हाट्स, इत्यादि का एक उच्च स्तरीय अवलोकन प्राप्त करने की कोशिश कर रहा है। बहुत सारी जानकारी जो मैं पढ़ रहा हूँ / देख रहा हूँ वह ThoughtWorks (मार्टिन फाउलर, नील फोर्ड, एट) से आ रही है। अल)।
इस विषय पर मार्टिन फाउलर का अधिकांश काम कुछ साल पुराना है, जब माइक्रोसर्विस (प्रोग्रामिंग में एक घरेलू नाम, यदि सामान्य व्यवहार में नहीं है) अभी भी युवा था, इस प्रकार मैं इसे नमक के दाने के साथ लेता हूं।
विशेष रूप से एक बात यह है:
जैसा कि मैंने माइक्रोसर्विस आर्किटेक्चर का उपयोग करके टीमों के बारे में कहानियां सुनी हैं, मैंने एक सामान्य पैटर्न पर ध्यान दिया है।
- लगभग सभी सफल microservice कहानियाँ एक मोनोलिथ के साथ शुरू हुई हैं जो बहुत बड़ी हो गई थीं और टूट गई थीं
- लगभग सभी मामलों में जहां मैंने एक प्रणाली के बारे में सुना है जिसे खरोंच से एक माइक्रोसैस प्रणाली के रूप में बनाया गया था, यह गंभीर परेशानी में समाप्त हो गया है।
इस पैटर्न ने मेरे कई सहयोगियों को यह तर्क दिया है कि आपको माइक्रोसॉर्क्स के साथ एक नई परियोजना शुरू नहीं करनी चाहिए, भले ही आपको यकीन हो कि आपका आवेदन इसे सार्थक बनाने के लिए पर्याप्त होगा। ।
(संदर्भ: https://martinfowler.com/bliki/MonolithFirst.html - उनका जोर)
अब, 3 साल बाद और माइक्रोसर्विस के साथ एक अधिक सर्वव्यापी शब्द है, क्या यह आम तौर पर सहमत है कि एक नई प्रणाली आमतौर पर बड़े (-थान-माइक्रोसर्विस-लेकिन-छोटे-से-मोनोलिथ) सर्विस बंक के साथ शुरू करने और बनाने के लिए बेहतर है। एक विकासवादी उपाय के हिस्से के रूप में उन्हें अधिक दानेदार?
या, ऊपर दिए गए कथनों के विपरीत, एक ग्रैन्युलर माइक्रोसर्विस आर्किटेक्चर के साथ स्क्रैच से प्रोजेक्ट शुरू करने का कोई मानदंड है?
एक सामान्य सामान्य दृष्टिकोण की तरह लगता है, लेकिन समुदाय के विचारों के लिए उत्सुक है।