Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- deep learning
- phpredis
- fastapi
- AWS
- php
- Babel
- For
- Machine Learning
- Node
- React
- nodejs
- laravel
- Redux
- 기초 수학
- nginx
- Backbone.js
- CentOS
- webpack
- Redis
- linux
- python
- docker
- SQL
- mariadb
- Switch
- javascript
- rabbitmq
- Go
- NCP
- 블레이드 템플릿
Archives
- Today
- Total
개발일기
RabbitMQ - Node.js로 RabbitMQ 연결하기 본문
728x90
반응형
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 연결할 index.js 생성
import dotenv from 'dotenv';
import amqplib from 'amqplib/callback_api.js'
dotenv.config(); // 루트 폴더에 있는 .env 파일을 가져와 사용
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.createChannel((err, ch) => {
if(err) {
console.log("Err: ", err); // 채널 생성에 실패한 경우 에러 메시지 출력
return false;
}
// 큐 생성 및 채널에서 실행할 코드들 입력
});
})
- connect() : RabbitMQ에 연결하기 위해 사용한다. 첫번째 객체 파라미터에는 호스트이름, 계정 아이디, 비밀번호, 포트번호, 가상 호스트명 등을 입력하여 RabbitMQ 연결에 필요한 정보들을 추가한다. RabbitMQ의 기본 포트는 5672로 포트번호를 따로 변경하지 않았으면 생략해도 무관하다. 포트 항목을 생략하면 자동으로 5672로 설정되어 연결을 시도한다. callback_api.js로 import하였기에 에러와 연결 정보를 반환한다.
- callback err : 연결이 실패했을 때, 실패한 이유를 반환한다.
- callback conn : 연결이 성공했을 때, 연결 정보등을 반환한다. 성공했을 때의 콜백 변수를 통해 채널을 생성하여 RabbitMQ관련 작업을 진행할 수 있다.
- createChannel() : RabbitMQ에 연결된 후, 채널을 생성한다.
- callback err : 채널 생성이 실패했을 대, 실패한 이유를 반환한다.
- callback ch : 채널 생성 후, 큐를 생성하거나 exchange를 생성하는 등의 작업을 진행할 수 있다.
참고 사이트 :
https://levelup.gitconnected.com/introduction-to-rabbitmq-with-nodejs-61e2aec0c52c
https://amqp-node.github.io/amqplib/channel_api.html
https://www.npmjs.com/package/amqplib
https://www.cloudamqp.com/docs/nodejs.html
728x90
반응형
'Messaging Broker > RabbitMQ' 카테고리의 다른 글
RabbitMQ - Queue에 메시지 전달 및 처리하기 (0) | 2023.04.02 |
---|---|
RabbitMQ - Exchange 생성 및 Type 정리 (0) | 2023.03.26 |
RabbitMQ - 설치 및 계정 사용법 (0) | 2023.03.01 |
RabbitMQ - Stats in management UI are disabled on this node (0) | 2023.02.13 |
Comments