nginx 부하 균형 설정, 다운 자동 전환

2734 단어 부하 균형Nginx
엄 밀 히 말 하면 nginx 자체 테 이 프 는 부하 균형 백 엔 드 노드 에 대한 건강 검사 가 없 지만 기본 적 인 자체 테 이 프 를 통 해 ngxhttp_proxy_module 모듈 과 ngxhttp_upstream_module 모듈 의 관련 명령 은 백 엔 드 노드 가 고장 이 났 을 때 자동 으로 건강 노드 로 전환 하여 접근 을 제공 합 니 다.다음은 이 두 모듈 에 관 한 명령 을 보 여 줍 니 다.
  :   proxy_connect_timeout time;
   :  proxy_connect_timeout 60s;
                 。               75 。
  : proxy_read_timeout time;
   :  proxy_read_timeout 60s;
               。                     ,                。                      ,      。

nginx 이용upstream_check_module 모듈 백 엔 드 노드 건강 검진
이것 이 바로 타 오 바 오 기술 팀 이 개발 한 nginx 모듈 입 니 다.타 오 바 오 텐 진의 홈 페이지 를 방문 하 셔 도 됩 니 다.http://tengine.taobao.org이 버 전의 nginx 를 가 져 옵 니 다.nginx. conf 프로필 에 있 는 upstream 에 건강 검진 을 추가 합 니 다. 다음 과 같 습 니 다.
upstream name {
       server 192.168.0.21:80;
       server 192.168.0.22:80;
       check interval=3000 rise=2 fall=5 timeout=1000 type=http;
}

위 설정 은 name 이라는 부하 균형 항목 의 모든 노드 에 대해 3 초 에 한 번 씩 검 측 하고 2 번 정상 을 요청 하면 realserver 상 태 를 up 으로 표시 합 니 다. 5 번 검 측 에 실패 하면 realserver 상 태 를 down 으로 표시 하고 시간 초과 시간 은 1 초 입 니 다.여기 nginxupstream_check_module 모듈 이 지원 하 는 명령 어 뜻:
Syntax: check interval=milliseconds [fall=count] [rise=count] [timeout=milliseconds] [default_down=true|false] [type=tcp|http|ssl_hello|mysql|ajp] [port=check_port]
Default:         ,    :interval=30000 fall=5 rise=2 timeout=1000 default_down=true type=tcp
Context: upstream

이 명령 은 백 엔 드 서버 의 건강 검진 기능 을 열 수 있다.명령 뒤의 매개 변 수 는:
  • interval: 백 엔 드 에 보 내 는 건강 검진 가방 의 간격.
  • fall (fall count): 연속 실패 횟수 가 fall 에 도달 하면count, 서버 는 다운 으로 여 겨 집 니 다.
  • rise (rise count): 연속 성공 횟수 가 rise 에 도달 하면count, 서버 는 up 으로 여 겨 집 니 다.
  • timeout: 백 엔 드 건강 요청 시간 초과.
  • default_down: 초기 서버 의 상 태 를 설정 합 니 다. true 라면 기본 값 은 다운 입 니 다. false 라면 up 입 니 다.기본 값 은 true 입 니 다. 즉, 처음에 서버 가 사용 할 수 없다 고 생각 했 기 때문에 건강 검진 가방 이 일정한 성공 횟수 에 이 르 러 야 건강 하 다 고 여 겨 집 니 다.
  • type: 건강 검진 가방 유형, 현재 다음 과 같은 다양한 유형 지원
  • tcp: 간단 한 tcp 연결, 연결 이 성공 하면 백 엔 드 가 정상 임 을 설명 합 니 다.
  • ssl_hello: 초기 SSL hello 패 키 지 를 보 내 고 서버 의 SSL hello 패 키 지 를 받 습 니 다.
  • http: HTTP 요청 을 보 내 고 백 엔 드 리 셋 패키지 의 상 태 를 통 해 백 엔 드 의 생존 여 부 를 판단 합 니 다.
  • my sql: my sql 서버 에 연결 하여 서버 의 greeting 패 키 지 를 받 아 백 엔 드 의 생존 여 부 를 판단 합 니 다.
  • ajp: 백 엔 드 에 AJP 프로 토 콜 의 Cping 패 키 지 를 보 내 고 Cpong 패 키 지 를 받 아 백 엔 드 의 생존 여 부 를 판단 합 니 다.
  • port: 백 엔 드 서버 의 검사 포트 를 지정 합 니 다.실제 서비스 와 다른 백 엔 드 서버 의 포트 를 지정 할 수 있 습 니 다. 예 를 들 어 백 엔 드 가 제공 하 는 443 포트 의 응용 은 80 포트 의 상 태 를 검사 하여 백 엔 드 의 건강 상 태 를 판단 할 수 있 습 니 다.기본 값 은 0 입 니 다. 백 엔 드 서버 가 실제 서 비 스 를 제공 하 는 포트 와 같 습 니 다.이 옵션 은 Tengine - 1.4.0 에 나타 납 니 다.
  • 좋은 웹페이지 즐겨찾기