HAProxyは、インスタンスを終了するために着信要求を渡すべきではありません。

HAProxyは、インスタンスを終了するために着信要求を渡すべきではありません。

私のシナリオには、HAProxyと通信する2つのサーバーがあります。要求が入ると、HAProxy は要求を分割し、ラウンドロビン方式で両方のサーバーに送信します。とにかく、最初のインスタンスが失敗した場合、その時点でHAProxyはサーバーの1つが失敗したことを知っている必要があり、そのサーバーに要求を渡すべきではありません。各要求に対してのみ他のサーバーと通信する必要があります。

上記のシナリオに対して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

このファイルを再構成し、フロントエンドWebファームのIPアドレスをあなたのものに変更する必要があります。また、サーバー接続を内部バックエンドサーバーのIPアドレスにリダイレクトする必要があります。

関連情報