일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- webpack
- deep learning
- 블레이드 템플릿
- Redux
- For
- Redis
- mariadb
- CentOS
- AWS
- React
- Backbone.js
- laravel
- Node
- fastapi
- SQL
- nginx
- python
- linux
- Go
- 기초 수학
- Switch
- Machine Learning
- phpredis
- php
- nodejs
- NCP
- Babel
- javascript
- docker
- rabbitmq
- Today
- Total
목록nodejs (4)
개발일기
Nodejs의 PM2는 여러개의 노드 프로세스를 관리할 수 있는 데몬 프로세스이다. pm2로 애플리케이션을 다운타임없이 재시작할 수 있고, 애플리케이션이 계속 실행되도록 유지할 수 있다. 기존에는 자바스크립트 파일을 테스트하려면 node [파일명]으로 실행하여 터미널이 종료되면 프로세스가 종료되는 단점이 존재했다. 하지만 pm를 사용하면 노드 프로세스를 계속 유지할 수있어 여러모로 편리한 점을 제공한다. 또한 프로세스를 여러개 실행시키면 각 프로세스마다 포트가 할당된다. 이를 통해 로드밸런싱하여 프로세스의 작동을 분할할 수 있다. 1. PM2 설치 npm isntall pm2 -g yarn add pm2 -g pm2는 package.json, node_modules없이도 노드 프로세스를 관리할 수 있기에..
1. Queue 생성 import dotenv from 'dotenv'; import amqplib from 'amqplib/callback_api.js' dotenv.config(); amqplib.connect({ 'hostname': process.env.RABBITMQ_HOST, 'username': process.env.RABBITMQ_ID, 'password': process.env.RABBITMQ_PASSWORD, 'port': process.env.RABBITMQ_PORT, 'vhost': process.env.RABBITMQ_VHOST, }, (err, conn) => { if(err) { console.log("Err: ", err); return false; } conn.createC..
RabbitMQ의 큐에 메시지를 전달할 때, exchange 타입에 따라 저장할 큐를 선택하여 해당되는 큐들에 메시지를 보낼 수 있다. Laravel의 라우트와 비슷한 개념으로 큐 이름을 지정하거나 와일드카드로 패턴을 지정하여 설정할 수 있다. 1. Binding Exchange에 라우팅 키를 지정하는 것을 binding이라 한다. 즉, 정해진 타입에 규칙을 추가하는 것을 의미한다. 라우팅 키는 Exchange 타입에 상관없이 지정할 수 있지만, 타입에 따라 라우팅 패턴이 다르기에 매칭되는 큐가 달라질 수 있다. 2. Exchange Type exchange 종류에는 fanout, direct, headers, topic이 있다. fanout : 바인딩된 모든 큐에 동일한 메시지를 전달한다. 즉, 문자열..
1. 설치 1-1. amqplib 설치 npm install amqplib -D yarn add amqplib -D # rabbitmq에 연결하기 위해 amqplib를 설치한다. 1-2. dotenv 설치 npm install dotenv -D yarn add dotenv -D # RabbitMQ연결 정보가 저장된 .env파일을 사용하기 위해 설치한다. 2. .env파일 생성 # .env RABBITMQ_HOST=ip RABBITMQ_ID=아이디 RABBITMQ_PASSWORD=비밀번호 RABBITMQ_PORT=포트번호 # 기본은 5672포트 RABBITMQ_VHOST=가상호스트 루트 폴더에 .env파일을 생성하여 RabbitMQ 연결에 필요한 정보들을 입력하여 저장한다. 3. RabbitMQ 연결할 i..