Cloud

Ribbon

Jungsoomin :) 2020. 12. 8. 13:33

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 받을때 까지의 시간

'Cloud' 카테고리의 다른 글

Hystrix  (0) 2020.12.08
Feign  (0) 2020.12.08
Zuul  (0) 2020.12.07
Eureka  (0) 2020.12.07
Netflix Component 설명  (0) 2020.12.07