MS 구성에서 서로 다른 서비스를 쉽게 호출할 수 있게 함.
기능
LoadBalancing
- 해당 Service 의 instance가 여럿 실행 중인 경우, Ribbon 의 LoadBalancing 기능을 사용함
LoadBalancer 의 구성요소
- Rule : Round Robin 방식이 Default, Instance 마다 가중치를 줄 수도 있음
- Ping : 서버 리스트의 서비스 상태를 주기적으로 확인
- Server List : 정적으로 대상 서비스를 지정, Eureka 를 통해 동적으로도 지정 가능.
Service Discovery
- 자체 Discovery 기능으로 Eureka Registry 에 등록된 서비스 탐색 가능
- Eureka Server Registry 정보를 local에 Cache 한다.
Fault Tolerance ( 장애 허용 )
- 지속적인 Ping 기능으로 서비스의 UP / DOWN 상태를 판단
- DOWN status 의 인스턴스는 호출 대상에서 제외 됨
- Http Tcp Udp 등 의 프로토콜을 지원함.
** Ribbon 은 Zuul , Feign , Eureka 서비스 사용시 내부에서 동작하게 됨 **
Ribbon 만의 Dependency 가 있으나 Zuul , Fegin 에 포함된 Ribbon 을 사용하는 편임
zuul:
ignored-services: '*'
sensitive-headers:
routes:
client:
path: /test/**
serviceId: web
strip-prefix: false
test:
path: /client/**
serviceId: eureka-client
strip-prefix: false
#
ribbon:
ConnectionTimeout: 5000 # Client의 Request 후 Server와 커넥션 맺기 까지의 시간
ReadTimeout: 2000 # Connection 완료 후 Response 받을때 까지의 시간