Redis Clusterインストール用にHAProxyサービスを構成しました(Redis Sentinelがマスター委任を管理する3つのノード)。クライアントはマスターノードにのみリダイレクトされ、スレーブノードがマスターになるたびに、HAProxyはアクティブなメンバーを突然に変更します。バックエンド。
細心の注意を払いたいのですが、スレーブノードは"DOWN"(赤色)としてHAProxy統計レポートに表示されます(Layer7タイムアウト:tcp-checkのステップ5で(文字列を期待) role:master '))。それらを"backup UP"(blue colour)として表示する方法はありますか?これは正しい定義ですか?
これは、赤いノードが問題のように見えるためですが、スレーブメンバーはUPであるため、これは当てはまりませんが、それらは単なるスレーブであるため、アクティブではありません。これは、HAProxyへの「バックアップUP」状態の正しい定義だと思います。
これはHAProxyの設定です:
frontend Redis
bind 192.168.70.90:6379 name 192.168.70.90:6379
mode tcp
log global
timeout client 30000
default_backend Redis_tcp_ipvANY
backend Redis_tcp_ipvANY
mode tcp
timeout connect 30000
timeout server 30000
retries 3
option tcp-check
tcp-check connect
tcp-check send PING\r\n
tcp-check expect string +PONG
tcp-check send info\ replication\r\n
tcp-check expect string role:master
tcp-check send QUIT\r\n
tcp-check expect string +OK
server redis1 192.168.70.91:6379 check inter 1000 maxconn 1024
server redis2 192.168.70.92:6379 check inter 1000 maxconn 1024
server redis3 192.168.70.93:6379 check inter 1000 maxconn 1024
私がやりたいことがどうやってできるのか、何か考えがありますか?
ありがとう!
可能ですが、ノードが3つ以上あるため、正しくフェイルオーバーしません。しかし、あなたが尋ねたので:
backend Redis_tcp_ipvANY
mode tcp
timeout connect 30000
timeout server 30000
retries 3
option tcp-check
tcp-check connect
tcp-check send PING\r\n
tcp-check expect string +PONG
tcp-check send QUIT\r\n
tcp-check expect string +OK
server redis1 192.168.70.91:6379 inter 1000 maxconn 1024 check
server redis2 192.168.70.92:6379 backup inter 1000 maxconn 1024 check
server redis3 192.168.70.93:6379 backup inter 1000 maxconn 1024 check
Haproxy BACKUP
状態は、通常のサーバーがUP
である限り、サーバーが負荷分散の対象と見なされないことを意味します。あなたの現在の設定はより良いと思います。