본문 바로가기

AMQP

(4)
[RabbitMQ] 설치 및 운용 (Fast API) 프로젝트를 진행하면서 설치 및 운용 루틴을 기록해둔 글이다. 프로젝트에서 Python의 Pika 라이브러리를 사용하고 RabbitMQ는 Topic Exchange를 사용하였다. 또한, GCP환경에서 docker 서버를 띄우는 것임. 1. RabbiMQ 실행 GCP에서 docker로 RabbitMQ 서버를 띄우자 docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:management 5672와 관리자 페이지인 15672 포트를 사용한다. (listeners.tcp.default = 5672, management.tcp.port = 15672) 그리고 터미널에서 래빗엠큐 컨테이너의 bash를 실행시킨다. docker exec -it rabb..
[RabbitMQ] RabbitMQ의 이해 1. RabbitMQ 란? AMQP를 구현한 오픈 소스 메시지 브로커 소프트웨어로 Publisher(Producer)로부터 메시지를 받아 Consumer에게 라우트하는 것이 주된 역할이다. 이를 이용하면 작업 큐, 발행 및 구독, 라우팅, 주제, 원격 프로시저 호출 등의 모델을 구현할 수 있다. 2. RabbitMQ component Producer (Publisher) Consumer Queue Exchange Binding Producer는 메시지를 생성하고 발송하는 주체이다. 이 메시지는 Queue에 저장이 되는데, 주의할 점은 바로 Queue에 접근하는 것이 아니라 Exchange를 통해서 Queue에 접근하게 된다. Consumer는 메시지를 수신하는 주체이다. Consumer는 Queue에 직..
[AMQP] AMQP의 이해 AMQP를 이해하기 전에 먼저 MQ가 무엇인지 부터 알아야 한다. 1. MQ 란? MQ(Message Queue) 란 메시지 기반의 미들웨어로 메시지를 이용하여 여러 애플리케이션, 시스템, 서비스들을 연결해주는 솔루션이다. 즉, 프로세스 또는 프로그램 인스턴스가 데이터를 서로 교환할 때 사용하는 통신 방법이다. 더 큰 개념으로는 메시지 지향 미들웨어(Message Oriented Middleware: MOM)를 구현한 시스템을 의미한다. MOM은 비동기 메시지를 사용하는 응용 프로그램 간의 데이터 송수신을 말한다. 2. AMQP 그러면 AMQP는 무엇일까 ? 인스턴스가 데이터를 서로 교환할 때 사용하는 방법이다. MQ를 오픈 소스에 기밚나 표준 프로토콜이 AMQP 이며 이 자체가 프로토콜을 의미하고 있다..
[RabbitMQ] RabbitMQ 설치하기. (Feat. Docker) 추 후에 래빗엠큐을 제대로 이해하기 위해서 글을 올릴 예정이지만, 간단하게 설명을 하면, RabbitMQ는 AMQP(Advanced Message Queuing Protocol)을 구현한 메시지 브로커이다. 브로커는 일반적인 의미와 같이 메시지를 중계하는 역할을 한다. 그러면 RabbitMQ는 무슨 중계 역할을 할까? 간략해서 말하면, 메시지를 쉽게 전송할 수 있는 메시지 큐 기능을 제공한다. 본인은 ELK Stack과 함께 로그 수집을 효율적으로 하기 위해서 RabbitMQ를 사용하려 한다. 1. 준비 사항 https://musclebear.tistory.com/139 [RabbitMQ] docker로 래빗 MQ 설치하기 개요 RabbitMQ란? RabbitMQ는 AMQP(Advanced Message..