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과 같은 프로그램을 이용하면 된다.