PM2 + socket io 질문
1289
작성한 질문수 81
제로초님 강의듣고 나름 열심히 만든앱 채팅입이
어제부터 동접자 7~8000명을 찍고 서버가 터진뒤
오늘 기세보니 만명을 찍을것같습니다.
우선 정말 감사드립니다.
그러나 현재 서버가 불안정해서 열심히 알아본결과
PM2 + socket.io를 사용하는게 지금 제가 빠르게 할 수있는방법으론 젤 괜찮을 것같아 해봤습니다.
공식문서 보고 따라했습니다.
npm remove -g pm2
npm install -g @socket.io/pm2
를 실행하고
socket.js
...
const { createAdapter } = require("@socket.io/cluster-adapter");const { setupWorker } = require("@socket.io/sticky");
module.exports = (server) => {
const io = SockeIo(server, {path: '/socket.io})
io.adapter(createAdapter());
setupWorker(io);
....
}
이렇게 코드를 작성한뒤 package.json에 "start": "cross-env NODE_ENV=production pm2 start app.js -i 0"
이렇게하고 npm start를 하면 실행이 되지않습니다.
점검한다고 2시간가량 공백시간을 두었지만
결국 해결못하고 다시 하나의 cpu로 pm2 를 실행시켰습니다.
기세보니 오늘 동접자 만명 가까이 될듯한데, 정말 무섭습니다.
aws 서버는 t3.xl 쓰고있고 프론트(앱), 백앤드(서버+db) 이렇게 2티어 구조 쓰고있습니다.
pm2 clustering 만 어떻게 해결하면 문제없이 받아낼 수 있을것같은데, 어떻게 하면 해결할 수 있을까요.. ㅠㅠ
사적인 질문 너무 죄송하지만 너무 급해서 질문드립니다.. 답변해주시면 정말 감사하겠습니다.
답변 3
0
감사합니다. 저녁에 서버 터질것같으니 그때 종료되는김에 한번 해보겠습니다.
https://socket.io/docs/v4/pm2/
근데 위 문서보면 서버 호스트가 하나라면 redis없이 @socket.io/pm2 과 socket io 모듈로 가능할 것 같은데
처음에 따라했을땐 기존에 npm i pm2로 설치했었던것을 npm uninstall pm2를 하지않고 글로벌로 설치하지도 않았던npm remove -g pm2를 하고
npm i -g @socket.io/pm2 를 해서 pm2 start app.js -i 0 을 했을때
실행되지 않았던것인가~ 라고 생각도 듭니다.
그래서 다음에 해볼떈 우선 npm uninstall pm2 하고 npm remove -g pm2 npm remove -g @socket.io/pm2 하고 sudo로도 세개 반복해보고 난 다음 다시 해보려고하는데,
위 문서대로하면 가능한것 맞나요??
0
redis 를 통한 방법도 있던데 한컴퓨터인데 redis가 해결방안이 맞는지도 모르겠고... 난감합니다
0
그리고 혹시 공식문서랑 달라서 안되나하고
const io = SockeIo(server, {path: '/socket.io}) 부분을
cosnt io = new SocketIo(server) 이렇게 바꿔봤는데,
실행은되는데 SocketIo is not constructor 이라는 에러가 뜹니다.
리눅스 노드 설치시 패키지
0
162
0
socket.js 에서 referer로부터 roomId를 가져올 때
0
909
3
스트리밍 방식으로 대용량 파일 업로드 & 다운로드 관련 질문
0
2286
2
a[title] 질문드립니다
0
379
1
리뉴얼 강의 및 공부 방법
0
583
1
jwt decode
0
1134
1
node.js 교과서 3판 질문드립니다
0
393
1
passport와 jwt
0
437
1
리뉴얼 강의
0
422
2
혹시 Node.js 교과서 3판 이북은 언제 나오나요?
0
356
1
몽고디비 사용자도 MYSQL부분을 들어야 하나요???
0
485
1
sql 쿼리 로그는 어떤 모듈이 작성하나요?
0
507
2
nunjucks res.render('error'); 작동을 안합니다.
0
514
1
질문있습니다.
0
348
1
multer 한글 파일 업로드시 파일명이 깨져요.
1
3538
1
수업자료는 어디있나요?
0
369
1
질문 있습니디
0
240
1
multer 사용시 file 외 name값은 못받나용?
0
420
1
코드 중복 부분 질문드립니다.
0
300
1
api 만드는 이유 질문드립니다.
0
290
1
Strategy의 done에 대해 질문드립니다.
0
368
1
안녕하세요 fs 권한 관련 질문드립니다
0
453
1
시퀄라이즈 연결질문...
0
503
2
res.setHeader vs res.cookie
0
1790
3





