nginx를 사용하여 간단한 로드 밸런싱을 구현하면 구성은 다음과 같습니다
으아악현재 문제는 두 Tomcat이 모두 정상이면 nginx가 지정된 서버에 요청을 정상적으로 배포할 수 있다는 것입니다. 폴링을 사용하면 가중치도 작동할 수 있지만 Tomcat 중 하나를 끄면 요청이 중단됩니다. 요청은 nginx에 의해 실패한 서버로 배포됩니다. 이 상황을 처리하는 방법 ngxin에는 해당 솔루션 전략이 있습니까? nginx가 클러스터 서버의 실행 상태를 모니터링하는 방법이 있습니까? 구성하는 방법?
upstream에는 max_fails 및 failure_timeout이라는 두 개의 매개변수가 있습니다. 특정 서버에서 failure_timeout 시간 내에 max_fails 연결 실패가 발생하면 Nginx는 해당 서버가 끊긴 것으로 간주하여 더 이상 실패_timeout 시간 내에 요청하지 않습니다.
fail_timeout의 기본값은 10초이고, max_fails의 기본값은 1입니다.
또한 백엔드 서버의 상태를 감지하는 데 특별히 사용되는 타사 모듈 nginx_upstream_check_module이 있습니다
.
yaoweibin/nginx_upstream_check_module: nginx에 대한 업스트림 상태 확인
https://github.com/yaoweibin/...
redis에 세션을 저장하기 위해 ip_hash를 사용할 필요가 없습니다