• Home
  • About
    • lahuman photo

      lahuman

      열심히 사는 아저씨

    • Learn More
    • Facebook
    • LinkedIn
    • Github
  • Posts
    • All Posts
    • All Tags
  • Projects

pm2 cluster mode 특징

03 Feb 2019

Reading time ~1 minute

pm2 cluster mode에서는 session이나 websocket이 동작 하지 않는다.

pm2에서 제공하는 클러스터 모드는 코드의 수정 없이 CPU를 확장할 수 있다. Node.js 클러스터 모듈을 사용하여 확장 된 응용 프로그램의 하위 프로세스가 자동으로 서버 포트를 공유 하도록 하는 기능이다.

사용법은 다음과 같다.

# -i 옵션이 cluster 모드이며, max는 사용할 CPU 수를 입력 하면 된다.
# 0을 입력하면, 자동으로 모든 CPU 숫자만큼 클러스터가 생성된다.
pm2 start app.js -i max

또는 js/yaml/json 파일을 통해서 설정을 할 수 있다.

{
  "apps" : [{
    "script"    : "api.js",
    "instances" : "max",
    "exec_mode" : "cluster" 
  }]
}

Cluster Mode를 사용하면 가장 중요한게 stateless application이 된다는 것이다.

이 상태에서는 가중 중요한게 로컬 데이터 저장소를 프로세스에서 사용할수 없다는 것이다. 사용을 하고 싶으면, connect-redis과 같은 프로그램을 이용하면 된다.

Session이 동작하지 않아서 한참 해멧다.

참고자료

  • cluster-mode
  • stateless-apps
  • connect-redis


pm2cluster Share Tweet +1