2016-11-23 9 views
0

노드 JS 서버를 사용하여 클러스터를 설계하고 있습니다. 문서에서 NodeJS 클러스터링은 서버가 가지고있는 프로세서의 수에 따라 주로 작업자 프로세스를 사용하여 동일한 서버에서 이루어진다는 것을 읽었습니다. 내 질문은 마스터 프로세스가 다운 된 경우에도 내 응용 프로그램이 작동하도록 유지할 수있는 장애 조치 메커니즘에 관한 것입니다.Nodejs 클러스터 마스터 장애 조치

이 상황에서 가장 좋은 방법은 무엇입니까?

답변

0

내가 작업 한 Node.js 프로젝트를 기반으로 몇 가지 제안 사항을 제공 할 수 있습니다.

  1. Redis (LRU 캐시로 사용)와 같은 캐시 메커니즘을 사용하거나 MemCache가 일시적으로 통신 데이터를 저장하고 나중에 어딘가에 유지합니다. 이렇게하면 서버가 손상 되더라도 서버가 다시 시작될 때 캐시에서 데이터를 복구 할 수 있습니다.
  2. PM2 또는 영원히 Node.js 인스턴스를 모니터링하고 충돌시 다시 시작하십시오.
  3. 서버에 클라이언트의 컨텍스트 (마스터 또는 종속 프로세스)를 저장하는 것에 대해 걱정할 필요가 없도록 서버에 상태를 유지하십시오.
  4. 큰 응용 프로그램 인 경우 nginx를 사용하여 서버 인스턴스간에로드 균형을 조정할 수 있으며 충돌이 발생할 경우로드를 다른 서버로 이동하는 방식으로 설정할 수도 있습니다.

희망이 도움이됩니다.