स्प्रिंग बूट - यूरेका सर्वर
यूरेका सर्वर एक एप्लिकेशन है जो सभी क्लाइंट-सर्विस एप्लिकेशन के बारे में जानकारी रखता है। प्रत्येक माइक्रो सेवा यूरेका सर्वर में पंजीकृत होगी और यूरेका सर्वर प्रत्येक पोर्ट और आईपी पते पर चलने वाले सभी क्लाइंट एप्लिकेशन को जानता है। यूरेका सर्वर को डिस्कवरी सर्वर के रूप में भी जाना जाता है।
इस अध्याय में, हम यूरेका सर्वर बनाने के तरीके के बारे में विस्तार से जानेंगे।
यूरेका सर्वर का निर्माण
यूरेका सर्वर स्प्रिंग क्लाउड के बंडल के साथ आता है। इसके लिए, हमें यूरेका सर्वर को विकसित करने और इसे डिफ़ॉल्ट पोर्ट 8761 पर चलाने की आवश्यकता है।
स्प्रिंग इनिशिएटिव होमपेज पर जाएं https://start.spring.io/और यूरेका सर्वर निर्भरता के साथ स्प्रिंग बूट परियोजना डाउनलोड करें। इसे नीचे स्क्रीनशॉट में दिखाया गया है -
मुख्य स्प्रिंग बूट एप्लिकेशन क्लास फ़ाइल में प्रोजेक्ट डाउनलोड करने के बाद, हमें @EnableEurekaServer एनोटेशन जोड़ना होगा। @EnableEurekaServer एनोटेशन का उपयोग आपके स्प्रिंग बूट एप्लिकेशन को यूरेका सर्वर के रूप में कार्य करने के लिए किया जाता है।
मुख्य स्प्रिंग बूट एप्लिकेशन क्लास फ़ाइल का कोड नीचे दिखाया गया है -
package com.tutorialspoint.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);
}
}
सुनिश्चित करें कि स्प्रिंग क्लाउड यूरेका सर्वर निर्भरता आपके बिल्ड कॉन्फ़िगरेशन फ़ाइल में जोड़ी गई है।
मावेन उपयोगकर्ता निर्भरता के लिए कोड नीचे दिखाया गया है -
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
ग्रेडेल उपयोगकर्ता निर्भरता के लिए कोड नीचे दिया गया है -
compile('org.springframework.cloud:spring-cloud-starter-eureka-server')
पूर्ण बिल्ड कॉन्फ़िगरेशन फ़ाइल नीचे दी गई है -
Maven pom.xml
<?xml version = "1.0" encoding = "UTF-8"?>
<project xmlns = "http://maven.apache.org/POM/4.0.0"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.tutorialspoint</groupId>
<artifactId>eurekaserver</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>eurekaserver</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<spring-cloud.version>Edgware.RELEASE</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
Gradle – build.gradle
buildscript {
ext {
springBootVersion = '1.5.9.RELEASE'
}
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
group = 'com.tutorialspoint'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
ext {
springCloudVersion = 'Edgware.RELEASE'
}
dependencies {
compile('org.springframework.cloud:spring-cloud-starter-eureka-server')
testCompile('org.springframework.boot:spring-boot-starter-test')
}
dependencyManagement {
imports {
mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
}
}
डिफ़ॉल्ट रूप से, यूरेका सर्वर खोज में खुद को पंजीकृत करता है। आपको अपने एप्लिकेशन में नीचे दिए गए कॉन्फ़िगरेशन को जोड़ना चाहिए। प्रोपराइटीज़ फ़ाइल या एप्लीकेशन.माइल फ़ाइल।
application.properties फ़ाइल नीचे दी गई है -
eureka.client.registerWithEureka = false
eureka.client.fetchRegistry = false
server.port = 8761
Application.yml फ़ाइल नीचे दी गई है -
eureka:
client:
registerWithEureka: false
fetchRegistry: false
server:
port: 8761
अब, आप एक निष्पादन योग्य JAR फ़ाइल बना सकते हैं, और नीचे दिखाए गए मावेन या ग्रैडल कमांड का उपयोग करके स्प्रिंग बूट एप्लिकेशन चला सकते हैं -
मावेन के लिए, नीचे दिखाए अनुसार कमांड का उपयोग करें -
mvn clean install
"बिल्ड सफलता" के बाद, आप लक्ष्य निर्देशिका के तहत जार फ़ाइल पा सकते हैं।
ग्रेडल के लिए, आप नीचे दिखाए गए कमांड का उपयोग कर सकते हैं -
gradle clean build
“BUILD SUCCESSFUL” के बाद, आप JAR फाइल को बिल्ड / लिबास डायरेक्टरी के तहत पा सकते हैं।
अब, निम्न आदेश का उपयोग करके JAR फ़ाइल चलाएँ -
java –jar <JARFILE>
आप पा सकते हैं कि आवेदन टॉमकट बंदरगाह 8761 पर शुरू हो गया है जैसा कि नीचे दिखाया गया है -
अब, URL को हिट करें http://localhost:8761/ अपने वेब ब्राउज़र में और आप यूरेका सर्वर को पोर्ट 8761 पर चला सकते हैं जैसा कि नीचे दिखाया गया है -