api?

2012-11-16 3 views
1

nginx 풀에서 노드를 가져온 후 현재 다시 대기 상태가되는 롤링 다시 시작 스크립트가 있습니다. 풀에 대해 꺼낸 서버의 미해결 요청 수를 쿼리하는 것이 더 좋을 수 있으므로 0으로 내려 가면 즉시 웹 서버를 중지하고 업그레이드 한 다음 다시 시작할 수 있습니다. (등, 그것은 시작해야 함) api?

  • rollingRestartStep2를 LB에서 노드 하나를 제거, 자고, 다음 직접 노드에서 그것을
  • 테스트 업그레이드 - 우리는 기본적으로 5가

    1. rollingRestartStep1 단계 - 다시 LB의 회전
    2. 테스트는 새 노드를 돌 때까지 LB에 약간의 노드 (1)를두고, 수는
    3. rollingRestartStep5를 작동하는지 - 이것은 다른 모든 n은 1 단계와 3 반복 수행 송가는
    4. 기본 테스트

    이상적으로, 우리는 정말 지금이 쉽게 피할 수 삼십분 롤링 재시작 시간을 일으키는 원인이되기 때문에 자고 중지합니다.

    덕분에, 딘

  • 답변

    0

    당신의 nginx와 정상 종료를 수행하는 경우는 다음 전에 종료 현재의 모든 요청을 제공합니다. http://nginx.org/en/docs/control.html

    +0

    예, 저는 이미 알고 있지만, 제 질문에서 말하는 것처럼 스크립트에서 자야합니다. 나는 nginx에게 현재 요청이 매 5 초마다 완료되었는지를 물어볼 필요가있다. 내 첫 번째 문장은 "나는 지금 nginx의 수영장 밖으로 노드를 가져간 후 자고 롤링 다시 시작 스크립트를 가지고 노력하고 있었다"즉. 나는 서버 라인을 제거하고 이미 다시로드하지만 정확히 언제 nginx가 그 서버에 더 이상의 요청이 없음을 알 필요가있다. –

    +0

    아, 그리고 이것은 첫 번째 단계에서도 매우 명확하다고 생각합니다 .... "LB에서 노드 1을 제거하고 잠자기 후 업그레이드합니다"(즉, 이미 완료했습니다) –

    +0

    휴면 대신에 "대기"를 사용하십시오 :'남자 기다려. ' 또는 원격으로 알아야하는 경우 [스텁 상태 모듈] (http://wiki.nginx.org/HttpStubStatusModule)을 확인하십시오. – VBart