पाठ 11 / 32

मोनोलिथ बनाम माइक्रोसर्विसेज़

एक डिप्लॉयेबल और कई के बीच चुनना, और उस ट्रेड-ऑफ के साथ जीना।

प्रत्येक क्या है

एक मोनोलिथ सभी फ़ीचर एक ही डिप्लॉयेबल यूनिट के रूप में भेजता है जो कोडबेस, प्रोसेस और डेटाबेस साझा करता है। माइक्रोसर्विसेज़ सिस्टम को स्वतंत्र रूप से डिप्लॉय होने वाली सेवाओं में बाँटती हैं, हर एक अपना डेटा खुद रखती है।

टीमें क्यों बाँटती हैं

माइक्रोसर्विसेज़ टीमों को स्वतंत्र रूप से डिप्लॉय करने, केवल हॉट सेवाओं को स्केल करने, और हर सेवा में अलग तकनीक उपयोग करने देती हैं। कीमत यह है कि जहाँ पहले फ़ंक्शन कॉल होते थे वहाँ अब नेटवर्क कॉल हैं, और परिचालन जटिलता — सर्विस डिस्कवरी, वितरित ट्रेसिंग, वर्ज़न्ड कॉन्ट्रैक्ट।

एक रसोई बनाम फ़ूड कोर्ट

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

मोनोलिथ से शुरू करें, दर्द के साथ बाँटें

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