माइक्रोसर्विसेज आर्किटेक्चर एक डिज़ाइन दृष्टिकोण है जहां एक एप्लिकेशन शिथिल युग्मित सेवाओं से बना होता है। प्रत्येक सेवा एक विशिष्ट कार्यक्षमता के लिए ज़िम्मेदार है और इसे स्वतंत्र रूप से विकसित, तैनात और स्केल किया जा सकता है। स्प्रिंग क्लाउड टूल और फ्रेमवर्क का एक सूट है जो मजबूत और स्केलेबल माइक्रोसर्विसेज बनाने में मदद करता है।
माइक्रोसर्विसेज क्या हैं?
माइक्रोसर्विसेज जटिल अनुप्रयोगों को छोटी, प्रबंधनीय सेवाओं में तोड़ देती है। प्रत्येक माइक्रोसर्विस एकल व्यवसाय क्षमता पर ध्यान केंद्रित करती है और अच्छी तरह से परिभाषित एपीआई के माध्यम से अन्य सेवाओं के साथ संचार करती है, आमतौर पर REST या मैसेजिंग कतारों का उपयोग करती है।
माइक्रोसर्विसेज के लाभ
स्प्रिंग क्लाउड के प्रमुख घटक:
1. स्प्रिंग क्लाउड कॉन्फ़िगरेशन:
2. स्प्रिंग क्लाउड नेटफ्लिक्स:
3. स्प्रिंग क्लाउड गेटवे:
4. स्प्रिंग क्लाउड स्लीथ:
5. स्प्रिंग क्लाउड स्ट्रीम:
स्प्रिंग क्लाउड के साथ एक सरल माइक्रोसर्विसेज एप्लिकेशन का निर्माण:
स्प्रिंग बूट प्रोजेक्ट स्थापित करना:
स्प्रिंग क्लाउड कॉन्फ़िगरेशन सर्वर को कॉन्फ़िगर करना:
यूरेका के साथ सर्विस डिस्कवरी:
स्प्रिंग क्लाउड गेटवे के साथ एपीआई गेटवे:
हिस्ट्रिक्स के साथ लचीलापन जोड़ना:
स्प्रिंग क्लाउड स्लीथ के साथ वितरित ट्रेसिंग:
उदाहरण: एक सरल माइक्रोसर्विसेज आर्किटेक्चर को लागू करना
आइए निम्नलिखित माइक्रोसर्विसेज के साथ एक बुनियादी ई-कॉमर्स एप्लिकेशन पर विचार करें:
चरण 1: स्प्रिंग बूट प्रोजेक्ट बनाएं
प्रत्येक सेवा के लिए, आवश्यक निर्भरताओं के साथ एक स्प्रिंग बूट प्रोजेक्ट बनाएं:
org.springframework.cloud spring-cloud-starter-netflix-eureka-client
चरण 2: कॉन्फ़िगरेशन सर्वर सेट करें
एक कॉन्फ़िग सर्वर बनाएं और इसे Git रिपॉजिटरी से पढ़ने के लिए कॉन्फ़िगर करें:
# application.yml for Config Server spring: cloud: config: server: git: uri: https://github.com/your-repo/config-repo
चरण 3: यूरेका के साथ सेवाएं पंजीकृत करें
प्रत्येक माइक्रोसर्विस में, यूरेका क्लाइंट सेटिंग्स कॉन्फ़िगर करें:
# application.yml for Product Service eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka/
चरण 4: स्प्रिंग क्लाउड गेटवे कॉन्फ़िगर करें
गेटवे एप्लिकेशन में मार्ग सेट करें:
# application.yml for Gateway spring: cloud: gateway: routes: - id: product-service uri: lb://PRODUCT-SERVICE predicates: - Path=/products/**
चरण 5: हिस्ट्रिक्स के साथ सर्किट ब्रेकर जोड़ें
सेवा वर्गों में एनोटेट विधियाँ:
@HystrixCommand(fallbackMethod = "fallbackMethod") public String getProductDetails(String productId) { // logic to get product details } public String fallbackMethod(String productId) { return "Product details not available"; }
चरण 6: वितरित ट्रेसिंग सक्षम करें
स्लीथ और ज़िपकिन निर्भरताएँ और कॉन्फ़िगरेशन जोड़ें:
# application.yml for Tracing spring: zipkin: base-url: http://localhost:9411/
निष्कर्ष:
स्प्रिंग क्लाउड के साथ माइक्रोसर्विसेज आर्किटेक्चर को लागू करने से आपके अनुप्रयोगों की स्केलेबिलिटी, लचीलापन और रखरखाव बढ़ जाता है। स्प्रिंग क्लाउड का मजबूत टूलसेट माइक्रोसर्विसेज के निर्माण और प्रबंधन में शामिल जटिलताओं को सरल बनाता है, जिससे यह डेवलपर्स के लिए एक उत्कृष्ट विकल्प बन जाता है। सर्वोत्तम प्रथाओं का पालन करके और इन शक्तिशाली उपकरणों का लाभ उठाकर, आप कुशल, स्केलेबल और दोष-सहिष्णु माइक्रोसर्विसेज समाधान बना सकते हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3