RabbitMQ - 이론, 실습(Ubuntu)
2023. 7. 31. 08:58ㆍ개발/MQ
728x90
반응형
설명
RabbitMQ란 ?
RabbitMQ는 얼랭 (Erlang)으로 AMQP 를 구현한 오픈소스 메시지 브로커이다. 비동기 작업 큐(예: Celery)를 사용하려면 중간 단계에 MQ를 사용해야하는데 대표적인 큐에는 RabbitMq, ActiveMQ, Kafaka 등이 대표적이다.
AMQP
클라이언트가 메시지 미들웨어 브로커와 통신할 수 있게 해주는 메세징 프로토콜이다.
처리 순서
- Producer : 메시지 생성하고 발송하는 주체
- Exchange : Producer들에게서 전달받은 메시지들을 어떤 Queue들에게 발송할지 결정
- Direct : Routing key가 정확히 일치하는 Queue에 메시지 전송
- Topic : Routing key 패턴이 일치하는 Queue에 메시지 전송
- Headers : [key:value]로 이루어진 header 값을 기준으로 일치하는 Queue에 메시지 전송
- Fanout : 해당 Exchange에 등록된 모든 Queue에 메시지 전송
- Binding : Exchage에게 메시지를 라우팅 할 규칙을 지정하는 행위
- Queues : Queue 메시지를 쌓아둔 공간
- Consumer : 메시지를 수신하는 주체
RabbitMQ 설치
💡 준비물 : ubuntu 20.04.3
설치
$ apt-get update
$ apt install rabbitmq-server
// RabbitMQ 서비스가 자동으로 시작하도록 구성
$ systemctl enable rabbitmq-server
// RabbitMQ 서비스 구동
$ systemctl start rabbitmq-server
$ netstat -tnlp | grep 5672
tcp 0 0 0.0.0.0:15672 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:25672 0.0.0.0:* LISTEN -
tcp6 0 0 :::5672 :::* LISTEN -
RabbitMQ 관리자
계정 생성
// 계정 생성
$ rabbitmqctl add_user {id} {password}
// 생성한 계정에 관리자 권한 부여
$ rabbitmqctl set_user_tags {id} administrator
커밋 메시지는 서술적이어야 합니다.
관리자 페이지 활성화
$ rabbitmq-plugins enable rabbitmq_management
$ service rabbitmq-server restart
관리자 페이지
728x90
반응형
'개발 > MQ' 카테고리의 다른 글
Kafka - Java + Spring Boot + Docker + Kafka (0) | 2023.08.08 |
---|---|
Kafka - Python + Docker + Kafka 실습 (0) | 2023.08.08 |
Kafka - 이론, 실습(Ubuntu) (0) | 2023.07.31 |