2017-09-15 10 views
0

나는 언제 들어오는 요청을 처리해야 레디 스 인스턴스의 하나에서 다음 설치HAProxy에서 서버를 비활성화하여 활성 세션이있는 특정 서버로 트래픽 라우팅을 중지 할 수 있습니까?

HA -| 
    |- Redis1 
    |- Redis2 

을 구현하려합니다.

설명서에 따르면 서버를 동적으로 비활성화 할 수 있으며 HA는 비활성화 된 서버로 트래픽을 보내는 것을 중지합니다. 새 클라이언트 연결에서이 작업이 수행되지만 기존 클라이언트 연결은 비활성화 된 서버에서 계속 제공되는 콘텐츠입니다. 그러나 redis 인스턴스를 삭제하면 기존 클라이언트 연결도 다른 인스턴스로 리디렉션됩니다.

인스턴스를 죽이지 않고이 동작을 수행 할 수 있습니까?

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