일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- threejs
- PC
- 보안
- 거래
- 쿠버네티스
- Linux
- strongloop
- ps4
- game
- loopback
- 스마트 계약
- angular
- 게임
- 시장
- 이더리움
- 투자
- Games
- 리뷰
- review
- 스마트 컨트랙트
- 탈중앙화
- 비트코인
- 블록체인
- Three
- Docker
- 암호화폐
- 젤다 왕눈
- 부동산
- 주식
- kubernetes
- Today
- Total
BaeBox
Node - Cluster Module 본문
Node.js 의 Cluster Module 이라는 것을 알게 되어 그에 관한 글을 적어본다.
Cluster Module : Node를 MultiCore 환경에서 활용하기 위해 사용하는 모듈.
현재까지 내가 파악한 바로는 Master라는 이름의 Balancer가 각각의 프로세스에 해당하는 worker들에게 일을 나누어 주는 형태이다.
아래 링크에 들어가보면 매우 간단한 예제가 있다.
https://nodejs.org/api/cluster.html
간단하쥬?
그런데 동일한 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
https://nodejs.org/api/cluster.html
'개발 관련' 카테고리의 다른 글
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 |