web-dev-qa-db-ja.com

HAProxyがフォールバックからマスターに切り替わらないようにする

Redisマスタースレーブのセットアップがあり、マスターに障害が発生したらスレーブにフォールバックしたいと考えています。ただし、失敗した場合は、マスターが再びオンラインになったとしても、元に戻ることはありません。

これは可能ですか?

5
grosser

必要なことを行うための回避策があります。以下の例のように、riseパラメータに非常に高い値を設定し、数秒のinterを設定するだけです。

listen  sql-cluster 0.0.0.0:1433
        balance roundrobin
        server  sql01 192.168.100.109:1433 check backup
        server  sql02 192.168.100.180:1433 check inter 5s fall 3 rise 99999999

この例では、sql01backup、およびsql02 アクティブです。マスターがダウンしている場合、sql01がアップしています。にとって sql02アクティブに戻るには、5秒間隔で99.999.999の正常なチェックを実行する必要があります...これは約15年です!

4
Gustavo Nobrega

stick ????を使用しますオプション。 公式HAproxyブログ から:

フェイルバックなしの自動フェイルオーバー

以下の構成により、HAProxyは使用可能な場合はs1を使用し、使用可能な場合はs2にフェイルオーバーします。フェイルオーバーが発生した場合、スティックテーブルのおかげで、フェイルバックは自動的に処理されません。

backend bk_app
 stick-table type ip size 1 nopurge peers LB
 stick on dst
 server s1 10.0.0.1:80 check
 server s2 10.0.0.2:80 check backup
5
mikemaccana