nginx 건강 검진
upstream backend{
server 127.0.0.1:8020 max_fails=2 fail_timeout=40s; # 40s
server 127.0.0.1:8021 max_fails=1 fail_timeout=40s;
}
처리 과정
1. Nginx 는 프 록 시 요청 과정 에서 모든 백 엔 드 서버 가 요청 에 대한 응답 상 태 를 자동 으로 모니터링 합 니 다. 만약 에 특정한 백 엔 드 서버 가 요청 에 대한 응답 상태 가 짧 은 시간 에 일정한 실패 횟수 를 누적 하면 Nginx 는 이 서버 의 차이 점 을 표시 합 니 다. 항상이 서버 에 데 이 터 를 전송 하지 않 습 니 다.그러나 일정 시간 간격 으로 Nginx 는 백 엔 드 서버 에 반환 상 태 를 탐지 하기 위해 소량의 요청 을 전달 합 니 다.이 서버 의 복구 여 부 를 식별 할 수 있 도록 합 니 다. 백 엔 드 서버 는 건강 검진 인 터 페 이 스 를 전문 적 으로 제공 할 필요 가 없 지만, 이러한 방식 은 일부 사용자 가 요청 한 응답 을 실패 하 게 할 수 있 습 니 다. Nginx 는 백 엔 드 서비스 가 정상 으로 회복 되 었 는 지 소량의 요청 을 해 야 하기 때 문 입 니 다.2. 이러한 단점 중 하 나 는 nginx 가 수 동적 으로 건강 검 사 를 하 는 것 입 니 다. 즉, 요청 이 있 을 때 A 서비스 에 전 화 를 걸 어 달라 고 요청 할 때 A 서비스의 상 태 를 알 수 있 고 A 서비스 가 이상 하면 한 번 더 전송 해 야 효율 이 영향 을 받 습 니 다.
제3자 모듈
설치 nginxupstream_check_module
location /{
proxy_pass http://cluster;
}
upstream cluster {
server 127.0.0.1:8181;
server 127.0.0.1:8182;
#http
check interval=3000 rise=2 fall=3 timeout=3000 type=http;
#/health/status
check_http_send "HEAD /health/status HTTP/1.0\r
\r
";
check_http_expect_alive http_2xx http_3xx;
}
매개 변수 설명:
interval: 백 엔 드 에 보 내 는 건강 검진 가방 의 간격, 단 위 는 밀리초 rsie: 연속 성공 횟수 가 ise 에 도달 하면count, 서버 는 up fall 로 여 겨 집 니 다. 연속 실패 횟수 가 fall 에 도달 하면count, 서버 는 다운 타임 아웃: 백 엔 드 건강 요청 의 시간 초과 로 여 겨 집 니 다. 단 위 는 밀리초 type: 건강 검진 패키지 의 유형 입 니 다. tcp, ssl 을 지원 합 니 다.hello、http、mysql、ajp
Tips
이것 은 주동 적 인 모델 로 설정 주파수 에 따라 정기 적 으로 검사 하여 판단 조건 에 도달 하면 판정 을 한다.nginx 가 추가 인 터 페 이 스 를 개통 해 야 합 니 다. 약간의 자원 비용 이 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.