오늘은 Spring Cloud Ribbon에 대해서 알아보자.
가장 먼저 Server Side Load Balancing과 Client Side Load Balancing에 대해서 알아야 한다.
지금까지 일반적으로 사용하는 로드밸런싱 처리 기기는 L4 Switch와 같은 H/W 장비였다.
위 그림에서 보면, L4&L7 하드웨어 장비가 서버에 Load Balancing을 수행하는 것을 볼 수 있다.
한 마디로 호출을 할 때 마다, 하드웨어 장비를 거쳐야 한다.
Client Side Load Balancing은 다음 그림을 보자.
중간에 H/W 장비를 거치지 않고 클라이언트가 직접 Load Balancing을 수행한다.
우리는 Eureka를 통해서 Client에서 유기적으로 연결 정보를 값, Health Check를 하는 것을 알고 있다.
Netflix에서 제공한 OSS이다. Client Side Load Balancer 이다.
일반적인 Spring cloud framework에서는 LB가 API Gateway에 embed된다.
Ribbon은 Client Side 이기 때문에 각 모듈에 embed 된다.
위에서 언급이 되었던 대로, 어플리케이션(모듈) 사이의 L/B를 위해서 필요하다.
Ribbon은 그 외 정교한 L/B설정을 제공한다.
Eureka, Zuul에 최적화 되어 있다.
오늘은 Ribbon에 대해서 알아보았다. 다음에 Ribbon을 적용할 때에, 세부적인 코드를 다룰 예정이다!