우아한남형제들에서 배우는 쉬운 Eureka 서비스 등록 방법

2024. 1. 23. 21:18Project 우아한남형제들/팀원을 위한 WIKI 문서

728x90

우아한 남형제들 서비스에서 팀원끼리 하나 협의를 한 것이 있습니다.

팀원이 사용해야 될 여지가 있다면 문서로 서로 공유하기로 한 것이죠.

약속~

그리고 저는 Eureka를 맡아서 개발하기로 했습니다.

이미 Confluence 에다가는 팀원에게 등록하는 법에 대해 공유는 되어 있지만

무료버전 Confluence 는 문서가 Public 하게 공유가 안되어 티스토리에도 옮기게 되었습니다 :)

공유된 Confluence 문서

Eureka 란?

Eureka is the Netflix Service Discovery Server and Client. The server can be configured and deployed to be highly available, with each server replicating state about the registered services to the others.

[출처] : https://cloud.spring.io/spring-cloud-netflix/multi/multi__service_discovery_eureka_clients.html

즉 MSA 에서 수많은 서비스들을 등록하고, 찾기 위한 서비스입니다.

말은 거창해도 실제로 적용하는 데는 힘들지 않습니다.

Eureka 클라이언트 설정

 

Eureka 클라이언트 설정은 application.yml 파일에 작성됩니다.

이대로 긁으셔서 사용해도 무방합니다.

# application.yml
eureka: # Eureka 관련 설정
  client: # Eureka 클라이언트 설정

    serviceUrl: # Eureka 서버의 URL 설정
      defaultZone: http://localhost:8761/eureka/ #로컬 호스트(기본포트 8761)에서 실행되는 Eureka에 연결됨

    register-with-eureka:true # 이 서비스가 Eureka 서버에 자신을 등록할지 여부# false: 서비스 등록 안 함 (개발/테스트 시 사용)# true: 실제 운영 환경에서는 서비스 등록 필요

    fetch-registry:false # Eureka 서버로부터 다른 서비스들의 정보를 가져올지 여부 # 보통은 false, Gateway 는 true

주의점

serviceUrl 이 현재 http://localhost:8761/eureka/ 로 되어있고

register-with-eureka: true로 되어있습니다.

저대로 긁어서 실행하실 경우

Eureka 에 등록을 못한다는 로그

위처럼 에러로그가 나게 됩니다. (실행하는데 문제는 없음)

 

에러가 나는 이유는 register-with-eureka: true라고 했기 때문에

Spring 이 serviceUrl 로 등록된 http://localhost:8761/eureka/ 을 찾지 못해서입니다.

 

로컬에서 개발하실때는

1.eureka를 pull 받아서 eureka 도 실행하거나
2. 그냥 여기에 register-with-eureka: false

둘 중 하나로 하시면 문제없습니다.

728x90