요약
- 웹소켓 클러스터를 HAProxy로 로드 밸런싱할 때 발생할 수 있는 문제
- 수백만개의 소켓을 HAProxy 한대로 로드밸런싱하면
본문
- 로드 밸런서는 클라이언트와 서버사이에서 각각 서버, 클라이언트 역할을 함
- 클라이언트에서 요청이오면 서버와 TCP 커넥션을 맺기 위해 TCP 클라이언트를 만듦
- TCP 클라이언트는 서버로 부터 데이터를 받기 위해 커널로 부터 ephemeral port를 할당 받는데 여러이유로 해당 포트가 고갈 될 수 있음
- 먼저 ephemeral port로 할당 가능한 포트 범위는 28k ~ 60k 정도인데 linux는 아래에서 확인이 가능함
- /proc/sys/net/ipv4/ip_local_port_range