스프링 부트-유레카 서버
Eureka Server는 모든 클라이언트 서비스 애플리케이션에 대한 정보를 보유하는 애플리케이션입니다. 모든 Micro 서비스는 Eureka 서버에 등록되며 Eureka 서버는 각 포트 및 IP 주소에서 실행되는 모든 클라이언트 애플리케이션을 알고 있습니다. Eureka Server는 Discovery Server라고도합니다.
이 장에서는 유레카 서버를 구축하는 방법에 대해 자세히 알아 봅니다.
유레카 서버 구축
Eureka Server는 Spring Cloud 번들과 함께 제공됩니다. 이를 위해 Eureka 서버를 개발하고 기본 포트 8761에서 실행해야합니다.
Spring Initializer 홈페이지 방문 https://start.spring.io/Eureka 서버 종속성으로 Spring Boot 프로젝트를 다운로드하십시오. 아래 스크린 샷에 나와 있습니다.
메인 Spring Boot Application 클래스 파일에서 프로젝트를 다운로드 한 후 @EnableEurekaServer 주석을 추가해야합니다. @EnableEurekaServer 주석은 Spring Boot 애플리케이션이 Eureka 서버로 작동하도록 만드는 데 사용됩니다.
주요 Spring Boot 애플리케이션 클래스 파일의 코드는 다음과 같습니다.
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);
}
}
Spring Cloud Eureka 서버 종속성이 빌드 구성 파일에 추가되었는지 확인하십시오.
Maven 사용자 종속성에 대한 코드는 다음과 같습니다.
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
Gradle 사용자 종속성에 대한 코드는 다음과 같습니다.
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}"
}
}
기본적으로 Eureka 서버는 검색에 자신을 등록합니다. 아래 주어진 구성을 application.properties 파일 또는 application.yml 파일에 추가해야합니다.
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 파일을 만들고 아래 표시된 Maven 또는 Gradle 명령을 사용하여 Spring Boot 애플리케이션을 실행할 수 있습니다.
Maven의 경우 아래와 같이 명령을 사용하십시오.
mvn clean install
“BUILD SUCCESS”후 대상 디렉토리에서 JAR 파일을 찾을 수 있습니다.
Gradle의 경우 아래에 표시된 명령을 사용할 수 있습니다.
gradle clean build
“BUILD SUCCESSFUL”후에 build / libs 디렉토리에서 JAR 파일을 찾을 수 있습니다.
이제 다음 명령을 사용하여 JAR 파일을 실행하십시오.
java –jar <JARFILE>
응용 프로그램이 아래와 같이 Tomcat 포트 8761에서 시작되었음을 알 수 있습니다.
이제 URL을 누르십시오. http://localhost:8761/ 웹 브라우저에서 아래와 같이 포트 8761에서 실행되는 Eureka 서버를 찾을 수 있습니다.