प्रौद्योगिकी साझेदारी

Spring Cloud Sleuth इत्यनेन सह Zipkin इत्यस्य उपयोगेन वितरितं अनुसन्धानम्

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

सूक्ष्मसेवावास्तुकलायां सेवानां मध्ये आह्वानसम्बद्धाः अतीव जटिलाः भवितुम् अर्हन्ति, येन समस्यास्थानं, कार्यप्रदर्शनस्य अनुकूलनं च कठिनं भवति । एतस्याः समस्यायाः समाधानार्थं वयं सम्पूर्णे सूक्ष्मसेवावास्तुकलायां अनुरोधलिङ्कानां निरीक्षणाय निदानाय च वितरित-अनुसन्धान-प्रणाल्याः उपयोगं कर्तुं शक्नुमः । जिप्किन् तथा स्प्रिंग् क्लाउड् स्लूथ् इति द्वौ अतीव लोकप्रियौ साधनौ स्तः ये अस्मान् एतत् लक्ष्यं प्राप्तुं साहाय्यं कुर्वन्ति।

जिप्किन् एण्ड् स्प्रिंग क्लाउड् स्लूथ् इति किम् ?

  • जिपकिनइयं वितरिता अनुसरणप्रणाली अस्ति या सूक्ष्मसेवावास्तुकलायां समयदत्तांशसङ्ग्रहे अस्मान् साहाय्यं कर्तुं शक्नोति येन वयं प्रणालीप्रदर्शनस्य विश्लेषणं निरीक्षणं च कर्तुं शक्नुमः।
  • वसन्त मेघ अन्वेषणएकः Spring Cloud परियोजना अस्ति या Spring Boot अनुप्रयोगानाम् कृते स्वचालितवितरित-अनुसन्धानक्षमताम् प्रदाति तथा च Zipkin इत्यनेन सह एकीकृतं कर्तुं शक्यते ।

भवतः वितरित-अनुसन्धानस्य आवश्यकता किमर्थम् ?

सूक्ष्मसेवावास्तुकलायां उपयोक्तृअनुरोधः बहुसेवाभिः संसाधितः भवितुम् अर्हति । वितरित-अनुसन्धान-प्रणालीं विना यदा समस्या भवति तदा अस्माकं कृते कठिनं भवति यत् समस्या कस्यां सेवायां वर्तते, अथवा कस्यां सेवा-कॉल-लिङ्क्-मध्ये अस्ति वितरिताः अनुसन्धानप्रणाल्याः अस्माकं सहायतां कर्तुं शक्नुवन्ति:

  • शीघ्रं कार्यप्रदर्शनस्य अटङ्कानां स्थानं ज्ञातव्यम्।
  • सेवानां मध्ये आह्वानसम्बन्धानां निरीक्षणं कुर्वन्तु।
  • प्रणालीप्रदर्शनस्य विश्लेषणं अनुकूलनं च कुर्वन्तु।

जिपकिन् तथा स्प्रिंग क्लाउड् स्लूथ एकीकृत करें

अधः वयं Spring Boot अनुप्रयोगे Zipkin तथा Spring Cloud Sleuth इत्येतयोः एकीकरणं कथं करणीयम् इति दर्शयितुं सरलं उदाहरणं उपयुञ्ज्महे ।

1. Spring Boot परियोजनां रचयन्तु

प्रथमं अस्माभिः Spring Boot परियोजना निर्मातव्या । शीघ्रं परियोजनां निर्मातुं निम्नलिखितनिर्भरताः योजयितुं च Spring Initializr इत्यस्य उपयोगं कर्तुं शक्नुवन्ति:

  1. <dependencies>
  2. <dependency>
  3. <groupId>org.springframework.boot</groupId>
  4. <artifactId>spring-boot-starter-web</artifactId>
  5. </dependency>
  6. <dependency>
  7. <groupId>org.springframework.cloud</groupId>
  8. <artifactId>spring-cloud-starter-sleuth</artifactId>
  9. </dependency>
  10. <dependency>
  11. <groupId>org.springframework.cloud</groupId>
  12. <artifactId>spring-cloud-starter-zipkin</artifactId>
  13. </dependency>
  14. </dependencies>

2. अनुप्रयोगं विन्यस्यताम्

अस्तिapplication.propertiesसञ्चिकायां निम्नलिखितविन्यासं योजयन्तु ।

  1. spring.application.name=my-service
  2. server.port=8080
  3. spring.zipkin.base-url=http://localhost:9411
  4. spring.sleuth.sampler.probability=1.0
  • spring.zipkin.base-urlजिप्किन् सर्वरस्य पता निर्दिशति ।
  • spring.sleuth.sampler.probabilityसर्वाणि अनुसन्धानदत्तांशं लॉग् कर्तुं 1.0 इति सेट् कुर्वन्तु ।

3. नमूनासङ्केतं लिखत

सेवा-आह्वानस्य अनुकरणार्थं सरलं REST नियन्त्रकं रचयन्तु:

  1. import org.springframework.web.bind.annotation.GetMapping;
  2. import org.springframework.web.bind.annotation.RestController;
  3. import org.springframework.web.client.RestTemplate;
  4. @RestController
  5. public class MyController {
  6. private final RestTemplate restTemplate;
  7. public MyController(RestTemplate restTemplate) {
  8. this.restTemplate = restTemplate;
  9. }
  10. @GetMapping("/hello")
  11. public String hello() {
  12. String response = restTemplate.getForObject("http://localhost:8081/greeting", String.class);
  13. return "Hello, " + response;
  14. }
  15. }

अस्मिन् उदाहरणे ./helloअन्त्यबिन्दुः अन्यां सेवां आह्वयिष्यति/greetingअन्त्यबिन्दुः ।

4. जिप्किन् सर्वरं आरभत

भवान् Docker इत्यस्य माध्यमेन शीघ्रं Zipkin सर्वरं आरभुं शक्नोति:

docker run -d -p 9411:9411 openzipkin/zipkin

5. अनुप्रयोगं चालयन्तु

स्वस्य Spring Boot अनुप्रयोगं आरभ्य भ्रमणं कुर्वन्तुhttp://localhost:8080/hello अन्त्यबिन्दुः । अस्मिन् क्षणे Spring Cloud Sleuth स्वयमेव भवतः अनुरोधाय अनुसन्धानसूचनाम् उत्पन्नं करिष्यति तथा च एतां सूचनां Zipkin सर्वरं प्रति प्रेषयिष्यति ।

6. अनुसरणसूचनाः पश्यन्तु

ब्राउजर् उद्घाट्य भ्रमणं कुर्वन्तुhttp://localhost:9411 , भवन्तः Zipkin इत्यस्य जालपुटं पश्यन्ति । अत्र, प्रत्येकस्य अनुरोधस्य कृते गृहीतः समयः, आह्वानलिङ्क् इत्यादीनि सर्वाणि अनुसरणसूचनाः द्रष्टुं शक्नुवन्ति ।

सारांशं कुरुत

Zipkin तथा Spring Cloud Sleuth इत्येतयोः एकीकरणेन वयं microservice architecture इत्यस्मिन् वितरितं tracing इत्येतत् सहजतया कार्यान्वितुं शक्नुमः । एतेन न केवलं शीघ्रं समस्यानां स्थानं ज्ञातुं, समाधानं च कर्तुं साहाय्यं भवति, अपितु प्रणालीप्रदर्शनस्य अनुकूलनं कर्तुं अपि साहाय्यं भवति । आशासे यत् एषः ब्लोग् भवद्भ्यः एतौ शक्तिशालिनौ साधनौ अवगन्तुं उपयोक्तुं च साहाय्यं करोति।

सन्दर्भाः