server와 client로 서버 설정을 달리한다.
server:
port: 8761
eureka:
client:
register-with-eureka: false # 다른 Eureka 서버에 이 서버를 등록하지 않음
fetch-registry: false # 다른 Eureka 서버의 레지스트리를 가져오지 않음
server:
enable-self-preservation: false # 자기 보호 모드 비활성화
spring:
application:
name: my-service
eureka:
client:
service-url:
defaultZone: http://localhost:8761/eureka/ # Eureka 서버 URL
register-with-eureka: true # Eureka 서버에 등록
fetch-registry: true # Eureka 서버로부터 레지스트리 정보 가져오기
instance:
hostname: localhost # 클라이언트 호스트 이름
prefer-ip-address: true # IP 주소 사용 선호
lease-renewal-interval-in-seconds: 30 # 리스 갱신 간격
lease-expiration-duration-in-seconds: 90 # 리스 만료 기간
각 서비스 어플리케이션은 Eureka 서버에 자신의 위치를 등록하고, 클라이언트 어플리케이션은 Eureka 서버에게 필요한 서비스의 위치를 조회한다.
크게 ResTemplate 과 FeignClinet 방법이 있다.
또한 Eureka 서버가 주기적으로 서비스 인스턴스의 상태를 확인해 가용성을 유지한다.
기본 헬스 체크 엔드포인트인 /actuator/health 로 상태를 확인해 서비스 장애가 발생하면 Eureka 서버는 해당 인스턴스를 레지스트에서 제거해 다른 서비스의 접근을 차단한다.

유레카 server를 띄우면 다음처럼 기본 제공하는 UI를 확인할 수가 있다.
DS REplicas 탭에서 열린 client 서버들을 확인할 수 있고, 성태 값 또한 확인 가능하다.
오늘 학습도 화이팅 입니다 !