
Feign Client
HTTP 요청을 생성하고 보낼 준비를 한다
단, user-service라는 이름만 있고 실제 어느 서버(IP:PORT)로 보낼지는 모름
Ribbon (LoadBalancer 역할)
Eureka에서 user-service 인스턴스 목록(IP:Port) 받아옴
로드밸런싱 전략(라운드 로빈, 가중치 등)에 따라 한 인스턴스를 선택
Feign Client에게 실제 주소를 알려준다
Feign Client → 선택된 인스턴스
Ribbon이 선택한 서버로 HTTP 요청을 보낸다
Eureka의 역할:
모든 서비스 인스턴스의 위치를 저장하는 중앙 저장소 역할을 한다
쉽게 말해, Feign이 문을 두드리고, Ribbon/LoadBalancer가 문을 골라주고, Resilience4j가 문이 고장 나도 집이 무너지지 않게 보호해준다고 보면 된다