Microservices Kya Hai

एक Microservices एक छोटी, शिथिल युग्मित सेवा है. माइक्रोसिस्ट आर्किटेक्चर मोनोलिथ आर्किटेक्चर्स के साथ स्केलबिलिटी और इनोवेशन चुनौतियों के समाधान के रूप में विकसित हुए मोनोलिथ एप्लिकेशन आमतौर पर विशाल होते हैं अधिक 100, कोड की 000 लाइन. यह आपको एक बड़े अनुप्रयोग को लेने और संकीर्ण रूप से परिभाषित जिम्मेदारियों के साथ आसानी से प्रबंधनीय छोटे घटकों में विघटित होने या तोड़ने की अनुमति देता है.

Microservices का उपयोग करने के कारण

Microservices का उपयोग करने के कारण अखंड आवेदन में कुछ चुनौतियां हैं -

  1. हैवी एप्लिकेशन स्टार्ट-अप टाइम को धीमा कर देता है.

  2. छोटे परिवर्तन के लिए, पूरे आवेदन को बनाने और तैनात करने की आवश्यकता है.

  3. परिवर्तनों के प्रभाव को सुनिश्चित करने के लिए अनुप्रयोगों को व्यापक मैनुअल परीक्षण की आवश्यकता होती है.

  4. एक बड़े एप्लिकेशन के लिए, जटिलता को समझना और कोड परिवर्तन को तेज और सही तरीके से करना मुश्किल है कभी-कभी कोड को प्रबंधित करना कठिन हो जाता है.

Microservices के लाभ

Microservices के बहुत से लाभ होते है जैसे कि -

Small Modules

एप्लिकेशन को छोटे मॉड्यूल में तोड़ दिया जाता है जो डेवलपर्स के लिए कोड और रखरखाव के लिए आसान होते हैं.

Easier Process Adaption

Microservices का उपयोग करके नई प्रौद्योगिकी और प्रक्रिया अनुकूलन आसान हो जाता है. आप हमारे द्वारा उपयोग किए जाने वाले नए माइक्रोसॉर्क्स के साथ नई तकनीकों की कोशिश कर सकते हैं.

Independent Scaling

प्रत्येक माइक्रोसर्विस अपनी आवश्यकताओं के आधार पर एक्स-एक्सिस स्केलिंग अधिक सीपीयू या मेमोरी के साथ क्लोनिंग और जेड-एक्सिस स्केलिंग तेज के माध्यम से स्वतंत्र रूप से स्केल कर सकता है.

Unaffected

बड़े अनुप्रयोग एकल मॉड्यूल की विफलता से काफी हद तक अप्रभावित रहते हैं.

DURS

प्रत्येक सेवा को स्वतंत्र रूप से तैनात, अद्यतन, प्रतिस्थापित किया जा सकता है और बढ़ाया जा सकता है.

Microservices के प्रतिबंध

Microservices के प्रतिबंध बहुत से होते है जैसे कि -

Configuration Management

जैसा कि यह दानेदार हो जाता है सिरदर्द सेवाओं को कॉन्फ़िगर करने और उन लोगों की निगरानी के लिए आता है. आपको वातावरण में सैकड़ों घटकों के लिए कॉन्फ़िगरेशन बनाए रखने की आवश्यकता है.

Debugging

सेवा की विफलता को ट्रैक करना श्रमसाध्य कार्य है. आपको विभिन्न घटकों में कई सेवाओं को देखने की आवश्यकता हो सकती है. सेंट्रलाइज्ड लॉगिंग और डैशबोर्ड्स डिबग समस्याओं को आसान बनाने के लिए आवश्यक हैं.

Automation

क्योंकि एक मोनोलिथ के बजाय कई छोटे घटक होते हैं आपको सब कुछ स्वचालित करने की आवश्यकता होती है बिल्ड, परिनियोजन, निगरानी आदि.

Testing

परीक्षण को समाप्त करने के लिए अधिक से अधिक प्रयास की आवश्यकता है क्योंकि इसमें सभी आश्रित सेवाओं को ऊपर और चलने की आवश्यकता होती है.

Microservices फ्रेमवर्क जावा के लिए

जावा के लिए विकसित करने के लिए आप उपयोग कर सकते हैं कि कई माइक्रोसोर्विस फ्रेमवर्क हैं. इनमें से कुछ हैं -

Spring Boot

यह संभवत: सबसे अच्छा जावा माइक्रोसर्विस फ्रेमवर्क है जो इनवर्टर ऑफ कंट्रोल, एस्पेक्ट ओरिएंटेड प्रोग्रामिंग और अन्य के लिए भाषाओं के शीर्ष पर काम करता है.

Dropwizard

Dropwizard जावा इकोसिस्टम से एक सरल हल्के वजन वाले पैकेज में स्थिर, परिपक्व पुस्तकालयों को खींचता है जो आपको किए गए कामों पर ध्यान केंद्रित करने देता है.

Restlet

रेस्टलेट फ्रेमवर्क जावा डेवलपर्स को बेहतर वेब APIs बनाने में मदद करता है जो REST आर्किटेक्चर स्टाइल का पालन करते हैं.

Spark

कोटलिन और जावा 8 में न्यूनतम प्रयासों के साथ वेब एप्लिकेशन बनाने के लिए एक सूक्ष्म ढांचा.