HAproxy Loadbalancing Mode&Option

귀귀재재·2022년 3월 17일
0

Back&Infra

목록 보기
4/7

참고: https://d2.naver.com/helloworld/284659

Bridge/Transparent Mode

사용자가 서비스를 요청하면 L4로 전달된 목적지 IP 주소를 real server IP 주소로 변조하고 MAC 주소를 변조해서 목적지를 찾아가는 방식이다.

요청 전달 시 변조

  • 사용자 > L4 > NAT(IP/MAC 주소 변조) > real server - 사용자가 L4를 호출하면 중간에 NAT가 목적지 IP 주소를 real server IP 주소로 변조하고 MAC 주소도 변조한다.
    응답 전달 시 변조
  • real server > NAT > L4 > 사용자 - real server에서 L4를 거치면서 출발지(source) IP 주소를 L4 가상 IP 주소로 변조한다. 동일 네트워크 대역이므로 MAC 주소는 변조하지 않는다.

Router Mode

Bridge/Transparent Mode와 유사하지만 출발지(source) MAC 주소도 변조된다.

One Arm Mode

사용자가 real server에 접근할 때 목적지 IP는 L4 스위치 IP를 바라본다. L4에 도달하면 L4가 클라이언트에게 받은 목적지 IP 주소를 L4 IP 주소에서 real server IP와 real server MAC 주소로 변조한다. 되돌아가는 IP는 L4의 IP pool의 IP 주소로 변조한다.

DSR (Direct Server Return) Mode

사용자가 real server에 접근할 때 출발지와 목적지의 IP 주소를 변조하지 않고, L4에서 관리하는 real server의 MAC 주소 테이블을 확인해서 MAC 주소만 변조한다.

roundrobin: 순차적으로 분배(최대 연결 가능 서버 4128개)

static-rr: 서버에 부여된 가중치에 따라서 분배

leastconn: 접속 수가 가장 적은 서버로 분배

source: 운영 중인 서버의 가중치를 나눠서 접속자 IP를 해싱(hashing)해서 분배

uri: 접속하는 URI를 해싱해서 운영 중인 서버의 가중치를 나눠서 분배(URI의 길이 또는 depth로 해싱)

url_param: HTTP GET 요청에 대해서 특정 패턴이 있는지 여부 확인 후 조건에 맞는 서버로 분배(조건 없는 경우 round robin으로 처리)

hdr: HTTP 헤더 에서 hdr()으로 지정된 조건이 있는 경우에 대해서만 분배(조건 없는 경우 round robin으로 처리)

profile
오늘 뭐하지///?

0개의 댓글