Redisマスタースレーブのセットアップがあり、マスターに障害が発生したらスレーブにフォールバックしたいと考えています。ただし、失敗した場合は、マスターが再びオンラインになったとしても、元に戻ることはありません。
これは可能ですか?
必要なことを行うための回避策があります。以下の例のように、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
この例では、sql01
はbackup
、およびsql02
アクティブです。マスターがダウンしている場合、sql01
がアップしています。にとって sql02
アクティブに戻るには、5秒間隔で99.999.999の正常なチェックを実行する必要があります...これは約15年です!
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