web-dev-qa-db-ja.com

Redis SentinelのHAProxy:ダウンではなくバックアップが必要

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 

私がやりたいことがどうやってできるのか、何か考えがありますか?

ありがとう!

1
Mat

可能ですが、ノードが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である限り、サーバーが負荷分散の対象と見なされないことを意味します。あなたの現在の設定はより良いと思います。

1
kubanczyk