सेवा खोज और पंजीकरण
गतिशील सेवा स्थान-निर्धारण के लिए Eureka या Consul का उपयोग करके सेवा पंजीकरण और खोज लागू करें।
सेवा खोज और पंजीकरण, CoddyKit पर Spring Boot 4 की संपूर्ण मार्गदर्शिका का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Spring Boot 4 की संपूर्ण मार्गदर्शिका सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Spring Boot 4 की संपूर्ण मार्गदर्शिका पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
सेवा खोज क्या है?
माइक्रोसर्विस में एप्लिकेशन को कई छोटी, स्वतंत्र सेवाओं में बाँटा जाता है। ये सेवाएँ संचार करने के लिए एक-दूसरे को कैसे खोजती हैं? यहीं सेवा खोज काम आती है।
यह एक महत्वपूर्ण प्रणाली है, जो सेवाओं को अपने-आप एक-दूसरे का स्थान पता लगाने में सहायता करती है। इसके बिना सेवा पतों को हाथ से प्रबंधित करना बहुत कठिन होता!
मैन्युअल पते क्यों विफल होते हैं
मान लीजिए आपके पास 'Product Service' और 'Order Service' हैं। यदि Order Service को Product Service को कॉल करना है, तो उसे उसका नेटवर्क स्थान (IP पता और पोर्ट) पता होना चाहिए।
- मैन्युअल कॉन्फ़िगरेशन: पतों को कोड में स्थायी रूप से लिखने पर किसी सेवा के स्थान बदलने या उसके स्केल होने पर लगातार अपडेट करने पड़ते हैं।
- स्केलिंग की समस्याएँ: किसी सेवा के और इंस्टेंस जोड़ने पर अन्य सेवाओं को उनके बारे में कैसे पता चलेगा?
- लचीलापन: यदि किसी सेवा का इंस्टेंस विफल हो जाए, तो अन्य सेवाओं को उससे बचने के लिए इसकी जानकारी होनी चाहिए।
सेवा खोज इन समस्याओं को गतिशील रूप से हल करती है।
सेवा रजिस्ट्री का परिचय
सेवा रजिस्ट्री आपकी माइक्रोसर्विस के लिए टेलीफ़ोन निर्देशिका जैसी होती है। यह एक केंद्रीय डेटाबेस है, जिसमें चल रहे सभी सेवा इंस्टेंस के नेटवर्क स्थान रखे जाते हैं।
जब कोई सेवा शुरू होती है, तो वह रजिस्ट्री में स्वयं को पंजीकृत करती है। जब किसी दूसरी सेवा को संचार करना होता है, तो वह उपलब्ध इंस्टेंस खोजने के लिए रजिस्ट्री से पूछताछ करती है।
लोकप्रिय सेवा रजिस्ट्री में Netflix Eureka, Consul और Apache ZooKeeper शामिल हैं।
सेवा पंजीकरण कैसे काम करता है
सेवाएँ स्वयं को दो मुख्य तरीकों से पंजीकृत कर सकती हैं:
- क्लाइंट-पक्षीय पंजीकरण: सेवा स्वयं रजिस्ट्री में पंजीकृत होती है और वहाँ से अपना पंजीकरण हटाती है। Eureka के साथ यह तरीका सामान्य है।
- सर्वर-पक्षीय पंजीकरण: कोई तृतीय-पक्ष घटक (जैसे लोड बैलेंसर या कंटेनर ऑर्केस्ट्रेटर) सेवाओं की ओर से उनका पंजीकरण करता है।
पंजीकरण के बाद सेवाएँ रजिस्ट्री को समय-समय पर 'हार्टबीट' भी भेजती हैं, ताकि यह पुष्टि हो सके कि वे अभी सक्रिय और स्वस्थ हैं।
Netflix Eureka से परिचय
Netflix Eureka Netflix द्वारा विकसित एक लोकप्रिय सेवा रजिस्ट्री है। यह माइक्रोसर्विस के लिए सरल, मजबूत और अत्यधिक उपलब्ध रजिस्ट्री है।
Eureka के दो मुख्य भाग हैं:
- Eureka Server: केंद्रीय रजिस्ट्री, जिसमें सेवाएँ पंजीकृत होती हैं।
- Eureka Client: माइक्रोसर्विस में शामिल एक लाइब्रेरी, जो सर्वर के साथ परस्पर क्रिया करती है (पंजीकरण और खोज)।
इसे लचीलेपन के लिए डिज़ाइन किया गया है और यह एकरूपता की अपेक्षा उपलब्धता को प्राथमिकता देता है (CAP प्रमेय में AP)।
Eureka Server बनाना
आइए एक बुनियादी Eureka Server बनाएँ। पहले spring-cloud-starter-netflix-eureka-server निर्भरता जोड़ें। फिर अपने मुख्य एप्लिकेशन क्लास पर @EnableEurekaServer का उपयोग करें।
package com.coddykit.eurekaserver;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
@SpringBootApplication
@EnableEurekaServer
public class EurekaServerApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaServerApplication.class, args);
}
}Eureka Server कॉन्फ़िगर करना
अपने Eureka सर्वर को सही ढंग से चलाने के लिए हमें उसका पोर्ट कॉन्फ़िगर करना होगा और उसे स्वयं को पंजीकृत न करने के लिए कहना होगा (क्योंकि वही सर्वर है)। इन पंक्तियों को application.properties में जोड़ें:
server.port=8761
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=falseserver.port=8761 Eureka का डिफ़ॉल्ट पोर्ट है। अन्य दो प्रॉपर्टी सर्वर को स्वयं के साथ पंजीकरण करने से रोकती हैं, जिसकी आवश्यकता नहीं है।
किसी सेवा को खोजने योग्य बनाना
अब आइए किसी माइक्रोसर्विस को हमारे Eureka Server के साथ स्वयं पंजीकृत कराएँ। यह सेवा Eureka Client बन जाती है।
पहले अपनी सेवा के प्रोजेक्ट में spring-cloud-starter-netflix-eureka-client निर्भरता जोड़ें। फिर अपने मुख्य एप्लिकेशन क्लास पर @EnableEurekaClient एनोटेशन लगाएँ।
इससे Spring Boot को इस एप्लिकेशन के लिए Eureka क्लाइंट सुविधाएँ सक्रिय करने का निर्देश मिलता है।
Eureka Client कॉन्फ़िगर करना
Eureka Client सक्रिय होने पर एक सरल माइक्रोसर्विस इस प्रकार दिखाई देती है। @EnableEurekaClient पर ध्यान दें। इसकी application.properties में आप इसका नाम और Eureka सर्वर का URL परिभाषित करेंगे:
spring.application.name=product-service
eureka.client.service-url.defaultZone=http://localhost:8761/eurekapackage com.coddykit.productservice;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@EnableEurekaClient
@RestController
public class ProductServiceApplication {
public static void main(String[] args) {
SpringApplication.run(ProductServiceApplication.class, args);
}
@GetMapping("/products")
public String getProducts() {
return "List of products from Product Service";
}
}Eureka के साथ सेवाएँ खोजना
सेवाओं के पंजीकृत हो जाने के बाद, अन्य क्लाइंट उन्हें खोज सकते हैं। Spring Cloud इसके लिए DiscoveryClient और RestTemplate (@LoadBalanced के साथ) या WebClient प्रदान करता है।
क्लाइंट को सटीक IP/पोर्ट जानने की आवश्यकता नहीं होती। वह केवल पंजीकृत नाम (जैसे "product-service") से Eureka से सेवा के बारे में पूछता है। Eureka उपलब्ध इंस्टेंस लौटाता है और क्लाइंट-पक्षीय लोड बैलेंसर उनमें से एक चुन लेता है।
अपनी समझ जाँचिए
आपने Eureka Server सेट अप करना और क्लाइंट पंजीकृत करना सीख लिया है। Spring Boot एप्लिकेशन को Eureka क्लाइंट में बदलने के लिए कौन-सा एनोटेशन आवश्यक है?
पुनरावृत्ति: सेवा खोज
हमने माइक्रोसर्विस के लिए महत्वपूर्ण प्रणाली सेवा खोज का अध्ययन किया। हमने सीखा:
- पतों को कोड में स्थायी रूप से लिखने से बचने के लिए केंद्रीय सेवा रजिस्ट्री की आवश्यकता क्यों होती है।
- Netflix Eureka अपने Server और Client घटकों के साथ रजिस्ट्री के रूप में कैसे काम करता है।
@EnableEurekaServerका उपयोग करके Eureka Server कैसे सेट अप करें।@EnableEurekaClientका उपयोग करके किसी माइक्रोसर्विस को Eureka Client के रूप में कैसे पंजीकृत और कॉन्फ़िगर करें।
अगले पाठ में आप API गेटवे के बारे में सीखेंगे, जो अक्सर अनुरोधों को मार्ग देने के लिए सेवा खोज का उपयोग करते हैं।
एआई शिक्षक के साथ Java सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 21
- पाठ
- 84
अक्सर पूछे जाने वाले प्रश्न
क्या “सेवा खोज और पंजीकरण” पाठ निःशुल्क है?
हाँ — Spring Boot 4 की संपूर्ण मार्गदर्शिका अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “सेवा खोज और पंजीकरण” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Spring Boot 4 की संपूर्ण मार्गदर्शिका पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“सेवा खोज और पंजीकरण” में मैं क्या सीखूँगा?
गतिशील सेवा स्थान-निर्धारण के लिए Eureka या Consul का उपयोग करके सेवा पंजीकरण और खोज लागू करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Spring Boot 4 की संपूर्ण मार्गदर्शिका का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Spring Boot 4 की संपूर्ण मार्गदर्शिका शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Spring Boot 4 की संपूर्ण मार्गदर्शिका शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।
“सेवा खोज और पंजीकरण” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Spring Boot 4 की संपूर्ण मार्गदर्शिका पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Spring Boot 4 की संपूर्ण मार्गदर्शिका पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- माइक्रोसर्विस के सिद्धांत और डिज़ाइन
- सेवा खोज और पंजीकरण
- Spring Cloud Gateway के साथ API गेटवे
- Spring Cloud Config से केंद्रीकृत कॉन्फ़िगरेशन