2017-11-06 1 views
0

ip_hash 옵션을 사용하여 nginx가 두 서버의로드 밸런서로 사용되는 간단한 설정이 있다고 가정합니다.nginx loadbalancer를 사용하면 회원이 복구 된 후 클라이언트가 재배포됩니까?

upstream backend { 
    ip_hash; 

    server backend1.example.com; 
    server backend2.example.com; 
} 

클라이언트는 클라이언트 IP를 기반으로 두 서버에 분산됩니다.

이제 backend1이 다운 된 것으로 가정합니다. 해시를 기반으로 이전에 backend1으로 전송 된 클라이언트는 이제 backend2으로 연결됩니다. 괜찮아. 나중에 backend1이 반환되면 어떻게됩니까? 모든 고객이 backend2에 '붙어 있습니까? 또는 원래 backend1에 있던 사용자가 다시 이전 할 예정입니까?

나는 docs을 보았지만 그 행동은 분명하지 않습니다.

답변

1

max_fails=number 

upstream module 쇼 옵션의 문서는의 서버를 사용할 수없는 고려해야 할 fail_timeout 매개 변수로 설정 한 시간에 발생해야 서버와의 통신에 실패 시도 횟수를 설정합니다 duration은 fail_timeout 매개 변수로 설정됩니다. 기본적으로 실패한 시도의 수는 1

fail_timeout=time 

시간으로 설정되어있는 동안 서버를 사용할 수없는 고려 발생해야 서버와의 통신에 실패 지정된 시도 횟수; 및 서버를 사용할 수없는 것으로 간주되는 기간. 기본적으로 매개 변수는 10 초로 설정됩니다. 그 바탕으로

, 나는 항상 당신이 당신의 nginx가 fail_timeout 위해 해당 서버를 오프라인 것이다 max_fails 기준 액에 도달하면 다음 fail_timeout 후 다시 서비스에 배치 될 것이라고 믿고있다.

관련 문제