Load Balancing
LoadBalancing
로드 밸런싱
네트워크 트래픽이나 작업 부하를 여러 서버 또는 리소스에 고르게 분배하는 기술이다
시스템의 성능, 가용성, 확장성을 향상 시키고 특정 서버에 부하가 집중되는 것을 방지한다
클라이언트 사이드 로드 밸런싱
클라이언트가 서버 요청을 보낼 때 서버의 위치를 직접 선택하여 트래픽을 분산하는 방식이다
클라이언트가 직접 서버 인스턴스 목록을 관리하고 요청을 보낼 인스턴스를 선택한다
Feign Client
Spring Cloud에서 제공하는 HTTP 클라이언트이다
선언형 HTTP 클라이언트로 인터페이스와 어노테이션 기반으로 다른 서비스와의 통신을 설정할 수 있다
이로 인해 REST API 호출 코드를 간단하게 작성할 수 있다
서비스 간의 통신 코드를 단순화하며, 서비스 이름으로 요청을 보낸다
Ribbon
클라이언트 측 로드 밸런싱 라이브러리이며 클라이언트 요청을 여러 서버 인스턴스에 분산시킨다
서비스 목록을 기반으로 라운드 로빈, 최소 연결 등의 다양한 알고리즘을 지원한다
현재는
Spring Cloud LoadBalancer
로 대체되고 있다고 함