5.7.6. 로드 밸런싱 전략
경로에 여러 엔드포인트가 있는 경우 HAProxy는 선택한 로드 밸런싱 전략을 기반으로 엔드포인트에 요청을 배포합니다. 이는 세션의 첫 번째 요청과 같이 지속성 정보를 사용할 수 없는 경우에 적용됩니다.
전략은 다음 중 하나일 수 있습니다.
-
roundrobin
: 각 엔드포인트는 가중치에 따라 차례로 사용됩니다. 이 알고리즘은 서버의 처리 시간이 동일하게 분산되어 있을 때 가장 원활하고 공정하게 알고리즘됩니다. -
leastconn
: 연결 수가 가장 적은 엔드포인트에서 요청을 수신합니다. 라운드 로빈은 여러 엔드포인트에 동일한 개수의 커넥션 수가 같으면 수행됩니다. LDAP, SQL, TSE 등과 같이 매우 긴 세션이 예상되는 경우 이 알고리즘을 사용합니다. 일반적으로 HTTP와 같은 짧은 세션을 사용하는 프로토콜에는 사용되지 않습니다. -
출처
: 소스 IP 주소는 해시되고 실행 중인 서버의 총 가중치로 나누어 요청을 받을 서버를 지정합니다. 이렇게 하면 서버가 다운되거나 가동되지 않는 한 동일한 클라이언트 IP 주소가 항상 동일한 서버에 도달할 수 있습니다. 실행 중인 서버 수로 인해 해시 결과가 변경되면 많은 클라이언트가 다른 서버로 전달됩니다. 이 알고리즘은 일반적으로 passthrough 경로와 함께 사용됩니다.
ROUTER_TCP_BALANCE_SCHEME
환경 변수는 통과 경로의 기본 전략을 설정합니다. ROUTER_LOAD_BALANCE_ALGORITHM
환경 변수는 나머지 경로의 라우터에 대한 기본 전략을 설정합니다. 경로별 주석 인haproxy.router.openshift.io/balance
를 사용하여 특정 경로를 제어할 수 있습니다.