And Brain said,
Netflix의 Eureka, Service Discovery의 시작 본문
반응형
시작하기에 앞서 Service Discovery에 대해 설명하겠다.
마이크로서비스 아키텍쳐에서는 분산된 마이크로 서비스들이 하나하나 원격으로 호출되어 전체를 이룬다.
이때 API Gateway에서 서비스들을 효율적으로 호출할 수 있도록 도와주는 것을 Service Discovery(발견)라고 한다.
자, 이제 Spring Netflix Eureka를 통해 Netflix OSS에서 어떻게 Eureka를 외치며 서비스를 발견하는지 알아보자.
sts를 사용하여 새로운 Spring Starter Project를 만든다.
이렇게 적어주고, Next를 누른 뒤 추가적인 의존성 주입이 필요하진 않아서 Finish를 눌러 프로젝트를 생성하자.
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.6.RELEASE</version>
<relativePath />
</parent>
<groupId>com.spring.cloud.eureka</groupId>
<artifactId>eureka</artifactId>
<version>1.0.0</version>
<name>eureka</name>
<description>Eureka Server for MSA</description>
<properties>
<java.version>1.8</java.version>
<spring.cloud.version>2.2.5.RELEASE</spring.cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
<version>${spring.cloud.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
pom.xml
spring-cloud-starter-netflix-eureka-server 의존성 주입
.
EurekaApplication.java에 @EnableEurekaServer 어노테이션 추가
application.yml 파일을 작성해준다.
EurekaApplication을 실행시켜주고
localhost:8761로 들어가면 Eureka Server를 확인할 수 있다.
이제 마이크로서비스들을 Eureka Client로 상태 정보를 전송하고 Eureka Server는 이를 발견하여 레지스트리에 등록한다.
이것이 서비스 디스커버리 패턴이다.
Thanks for watching, Have a nice day.
반응형
'IT > Java & Kotlin & Spring boot' 카테고리의 다른 글
Spring boot에서 Gson과 Swagger 동시 설정하기 (0) | 2023.01.24 |
---|---|
FCM(Firebase Cloud Messaging) Server, 플랫폼을 가리지 않는 우체국 (0) | 2022.12.09 |
Spring의 문지기 | Security : Filter (2) | 2022.11.07 |
[Java] 자바로의 회귀 - [3] : 메서드, JVM 메모리 구조 (0) | 2022.10.04 |
[Java] 자바로의 회귀 - [2] : 변수 (1) | 2022.10.03 |
Comments