본문 바로가기
spring cloud

Service Discovery - Spring Cloud Netflix Eureka

by 킹차니 2022. 2. 27.

service discovery를 위해 Spring Cloud Netflix Eureka를 사용.

 

service discovery : 외부의 서비스들이 마이크로 서비스들을 검색하기 위해서 사용됨. 즉 서버(서비스)를 특정 위치에 등록하고, 특정 서버(서비스)가 어디에 위치해 있는 지를 알려준다(검색).

 

 

 

이제 위의 그림에서 Service Discovery 서버를 만들어보자. (유레카 역시 서버 형태로 실행된다.)

 

먼저 spring-cloud-netflix Eureka Server. 의존성을 추가하고 스프링 부트는 2.6.4버전, 자바는 11, 메이븐 프로젝트로 설정하여 스프링 부트 프로젝트를 생성하였다.

 

그리고 인텔리제이로 열면 main 함수에 아래와 같은 @EnableEurekaServer어노테이션을 추가해준다.

package com.example.discoveryservice;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;


@SpringBootApplication
@EnableEurekaServer// EurekaServer 역할을 하게 한다.
public class DiscoveryserviceApplication {

    public static void main(String[] args) {
        SpringApplication.run(DiscoveryserviceApplication.class, args);
    }
}

 

그리고 application.yml에 아래와 같은 내용들을 추가해준다.

server:
  port: 8761 #discoveryservice는 8761 port에서 실행

spring:
  application:
    name: discoveryservice

eureka:
  client:
    register-with-eureka: false
    fetch-registry: false
    # 11, 12라인 : 자기 자신을 등록하는 행위이므로 false로 한다. 디폴트는 true

 

그리고 프로젝트를 실행시키고 localhost:8761로 접속하면 아래와 같은 화면을 볼 수 있다.

현재는 다른 마이크로 서비스를 등록하지 않았기 때문에 비어져 있는 상태이다.

 

 

 

출처 : 인프런 Lee Dowon님의 강의와 PDF 자료
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%EB%A7%88%EC%9D%B4%ED%81%AC%EB%A1%9C%EC%84%9C%EB%B9%84%EC%8A%A4