📌Eureka란?
: Eureka는 Neflix에서 제공한 MSA를 위한 클라우드 오픈 소스이다.
LoadBalancer를 사용하면 각 모듈은 CI/CD를 수행하면서 계속해서 업그레이드 된다. 그 과정을 통해 연결 정보(ip, port, hostname)가 계속 바뀌기 때문에 매우 번거롭다. 따라서, Eureka를 사용해서 LB에 연결 정보 등록에 대한 문제점과 에러 처리를 효과적으로 처리할 수 있다.
🔎Discovery
다른 서비스의 연결 정보를 찾는 것이다.
🔎Registry
서비스의 연결 정보를 등록하는 것이다.
🔎Eureka 구성
- Eureka Server
- Eureka Client
: 각각의 서비스에 해당하는 모듈이라고 생각하면 된다.
📢 실제 흐름
- Eureka Client 서비스가 시작 될 때 Eureka Server에 자신의 정보를 등록한다.
- Eureka Client는 Eureka Server로 부터 다른 Client의 연결정보가 등록되어 있는 Registry를 받고 자신의 Local에 저장한다.
- 30초 마다 Eureka Server로 부터 변경 사항을 갱신받는다.
- 30초 마다 ping을 통하여 자신이 동작하고 있다는 신호를 보낸다. 신호를 보내지 못하면 Eureka Server가 보내지 못한 client를 Registry에서 제외시킨다.
즉, 모든 서비스 모듈이 스스로 유기적으로 상호작용하는 기술이 Eureka인 것을 알 수 있다.
참고 : https://velog.io/@jkijki12/Eureka%EB%9E%80