반응형
eureka server를 사용해 보려고 설정을 진행하였다.
적절하게 설정을 하고 각 client에서 @EnableDiscoveryClient annotation을 설정하니 instance 등록이 정상적으로 되었다.
이제 잘 사용하면 되는데 문제는 eureka server를 재기동할 때 등록된 instance가 초기화된다는 점이었다.
eureka server의 경우 별도의 back end store를 사용하지 않는다.
eureka server가 이 문제를 해결하는 방법은 Peer Awareness이다.
여러 피어를 추가할 수 있고 피어간 등록이 동기화된다.
eureka:
client:
service-url:
defaultZone: http://bluesky-cloud-netflix-eureka-server-1-service.default.svc.cluster.local:30100/eureka/,http://bluesky-cloud-netflix-eureka-server-2-service.default.svc.cluster.local:30100/eureka/
여기서 주의해야 하는 점은 defaultZone은 kebab-case가 아닌 camel case로 등록해야 한다.
(특정 property와 맵핑되는 게 아닌 map에 추가되는 key이기 때문이다.)
해당 정보를 가지고 있는 eureka server는 서로 간의 정보를 동기화하게 된다.
따라서 여러 eureka server 중 특정 server가 재기동이 되더라도 기존의 instance 정보를 공유받아 동기화한다.
만약 개인적인 공부 목적으로 eureka server를 1개만 띄운다면 다른 client를 띄우기 전에 띄워서 사용해야 한다.
등록된 application 정보는 eureka 서버의 "/eureka/apps" 주소를 호출하면 확인할 수 있다.
반응형
'Study > Java' 카테고리의 다른 글
Spring Cloud Netflix Eureka Server 사용해 보기 (0) | 2023.01.26 |
---|---|
mysql:mysql-connector-java -> com.mysql:mysql-connector-j 변경 및 Spring Boot 2.7.8 이후 mysql-connector-java 의존성 관리 제거 (0) | 2023.01.25 |
Spring Framework 6.0.x 이후 Web 에러 처리 - ProblemDetail 사용하기 (0) | 2023.01.18 |
java record 사용시 @JsonIgnore 설정 주의점 (0) | 2023.01.14 |
[오류수정반영예정] STS 4.17.x, 4.18.x 무한 로딩 현상 (0) | 2023.01.05 |
Spring Cloud Config Server 4.0.0 jdbc profile 사용 변경점 (0) | 2022.12.23 |
Upgrading to Spring Framework 6.x (0) | 2022.12.01 |
Spring Cloud 2022.0 Release Notes (1) | 2022.11.30 |
What's New in Spring Framework 6.x (0) | 2022.11.30 |
Spring Boot 3.0 Migration Guide (0) | 2022.11.28 |