2017-09-15 8 views
0

私はいつでも着信要求にサービスを提供すべきであるRedisのインスタンスの一つだけでは次のセットアップHAProxyでは、サーバーを無効にして、アクティブなセッションがある特定のサーバーへのトラフィックのルーティングを停止できますか?

HA -| 
    |- Redis1 
    |- Redis2 

を実装しようとしています。

ドキュメントによると、サーバーを動的に無効にでき、HAは無効なサーバーへのトラフィックの誘導を停止するようです。 これは新しいクライアント接続では機能しますが、既存のクライアント接続には、無効なサーバーからのコンテンツが引き続き配信されます。 しかし、私がredisインスタンスをkillすると、既存のクライアント接続さえも他のインスタンスにリダイレクトされます。

インスタンスを強制終了せずにこの動作を達成できますか?

HERESに私のHAの設定は:

global 
    stats socket /opt/haproxy/admin.sock mode 660 level admin 
    stats socket [email protected]*:19999 level admin 

defaults 
    log global 
    mode tcp 

listen myproxy 
    mode tcp 
    bind *:4444 
    balance roundrobin 
    server redis1 127.0.0.1:6379 check 
    server redis2 127.0.0.1:7379 check 

答えて

0

答えを見つけました。

on-marked-down shutdown-sessions 

既存のセッションをすべて終了します。例:

server redis1 127.0.0.1:6379 check on-marked-down shutdown-sessions 
server redis2 127.0.0.1:7379 check on-marked-down shutdown-sessions 
関連する問題