내 시나리오에는 HAProxy와 통신하는 2개의 서버가 있습니다. 요청이 들어오면 HAProxy는 요청을 분할하여 라운드 로빈 방식으로 두 서버 모두에 보냅니다. 어쨌든, 첫 번째 인스턴스가 실패하면 그 시점에서 HAProxy는 서버 중 하나가 실패했음을 알아야 하며 해당 서버로 요청을 전달해서는 안 됩니다. 각 요청에 대해서만 다른 서버와 통신해야 합니다.
위 시나리오에 대해 HAProxy를 구성하는 방법을 알려주실 수 있나요?
답변1
나는 이 튜토리얼이 바로 당신이 찾고 있는 것이라고 믿습니다. 튜토리얼의 제목은 다음과 같습니다.Debian Lenny에서 HAProxy/Heartbeat를 사용하여 고가용성 로드 밸런서(장애 조치 및 세션 지원 포함) 설정.
일반적으로 /etc/haproxy.cfg 파일은 다음과 유사합니다.
global
log 127.0.0.1 local0
log 127.0.0.1 local1 notice
user haproxy
group haproxy
defaults
log global
mode http
option httplog
option dontlognull
retries 3
redispatch
maxconn 2000
contimeout 5000
clitimeout 50000
srvtimeout 50000
listen webfarm 192.168.0.99:80
mode http
stats enable
stats auth someuser:somepassword
balance roundrobin
cookie JSESSIONID prefix
option httpclose
option forwardfor
option httpchk HEAD /check.txt HTTP/1.0
server webA 192.168.0.102:80 cookie A check
server webB 192.168.0.103:80 cookie B check
이 파일을 재구성하고 프런트엔드 웹팜 IP 주소를 귀하의 것으로 변경해야 합니다. 또한 서버 연결을 내부 백엔드 서버의 IP 주소로 리디렉션해야 합니다.