일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- Linux
- 젤다 왕눈
- Games
- 스마트 컨트랙트
- 이더리움
- game
- 쿠버네티스
- review
- 게임
- 투자
- 블록체인
- Three
- 시장
- 주식
- 거래
- ps4
- 부동산
- PC
- 보안
- strongloop
- 비트코인
- 암호화폐
- Docker
- 리뷰
- threejs
- 탈중앙화
- kubernetes
- loopback
- angular
- 스마트 계약
- Today
- Total
BaeBox
Node - Cluster Module 본문
Node.js 의 Cluster Module 이라는 것을 알게 되어 그에 관한 글을 적어본다.
Cluster Module : Node를 MultiCore 환경에서 활용하기 위해 사용하는 모듈.
현재까지 내가 파악한 바로는 Master라는 이름의 Balancer가 각각의 프로세스에 해당하는 worker들에게 일을 나누어 주는 형태이다.
아래 링크에 들어가보면 매우 간단한 예제가 있다.
https://nodejs.org/api/cluster.html
Cluster | Node.js v13.11.0 Documentation
Cluster# A single instance of Node.js runs in a single thread. To take advantage of multi-core systems, the user will sometimes want to launch a cluster of Node.js processes to handle the load. The cluster module allows easy creation of child processes tha
nodejs.org
간단하쥬?
그런데 동일한 port를 listening 하고 있기 때문에 어떻게 사용할지에 대한 고민이 필요해 보인다.
같은 port를 listening 하고 있기 때문에 각각의 노드 서비스의 내용이 달라지는 것은 이상할테고, scheduler 같은 예약동작이 DB의 값을 업데이트하는 동작등을 한다면 여러번 동작할테니 그도 이상하다. 로그인을 세션으로 이용하는 것도 그렇고.
그렇다면, REST API 단위로 컴팩트하게 동작하는 서비스가 authentication/authorization을 token, jwt 방식을 이용하고, DB를 업데이트 하는 동작 등을 다른 서비스로 빼두면 현실적으로 고가용성 구성을 고려한 node 서비스가 되지 않을까 싶다.
여지껏 만들어본 것들은 이런걸 생각해보고 만든게 없어서 테스트하기 애매하니까 나중에 시간나면 해봐야징.
덤. 나도 cluster 모듈에 대해 찾아보며 알게 되었는데, node는 32bit 에서는 512mb, 64bit 에서는 1.5gb를 사용하도록 제한되어 있다고 한다. V8 엔진의 제한이라고 한다. 세상에 난 아는게 무엇인가.
https://programmingsummaries.tistory.com/384
[NodeJS] 클러스터(cluster)에 대한 정리
들어가며 node.js는 기본적으로 하나의 프로세스가 32bit에서는 512MB의 메모리, 64Bit에서는 1.5GB 메모리를 사용하도록 제한되어 있다. V8엔진의 제한을 그대로 반영한 것인데, 물론 설정으로 더 늘릴 수는 있지..
programmingsummaries.tistory.com
https://nodejs.org/api/cluster.html
Cluster | Node.js v13.11.0 Documentation
Cluster# A single instance of Node.js runs in a single thread. To take advantage of multi-core systems, the user will sometimes want to launch a cluster of Node.js processes to handle the load. The cluster module allows easy creation of child processes tha
nodejs.org
'개발 관련' 카테고리의 다른 글
json import( allowSyntheticDefaultImports 문제) (0) | 2020.04.08 |
---|---|
PM2 (0) | 2020.03.14 |
자바스크립트는 어떻게 동작하는가 시리즈.(펌) (0) | 2020.03.13 |
HTML 을 PDF, PPT, Word 로 export 하는 방법 (0) | 2020.03.09 |
Dynamic(동적) Component 생성 (0) | 2020.03.02 |