2022/04 3

[RabbitMQ] 기초 개념 - 3 (Pub/Sub)

이번 포스트에서는 Publish/Subscribe 패턴에 대해 정리하겠습니다. 이 패턴은 하나의 메시지를 여러 Consumer에게 전송하는 패턴입니다. 이전 포스트에서는 Producer가 Queue에 직접 메시지를 전송하고, 그 Queue가 여러개의 Consumer에게 메시지를 전송했습니다. Exchange 기존 있었던 요소 중 Producer, Queue, Consumer를 기억하실거에요. RabbitMQ의 핵심 메시징 모델은 Producer가 직접 Queue에 메시지를 전달하지 않는다는 것인데, 여기에서 Exchange라는 요소가 추가됩니다. 중간에 보이는 파란색 X가 Exchange 입니다. Producer는 Exchange에만 메시지를 보낼 수 있습니다. Exchange의 역할은 간단한데, Pro..

RabbitMQ 2022.04.12

[RabbitMQ] 기초 개념 - 2 (Work queues)

첫 번째 포스팅에서는 하나의 Producer가 하나의 Consumer에게 메시지를 전달하는 형태에 대해 정리했습니다. 이번에는 하나의 Producer가 여러개의 Consumer에게 메시지를 전달하는 형태에 대해 정리 하겠습니다. Round-robin dispatching Queue는 병렬화 할 수 있다는 장점이 있습니다. 즉, 같은 Queue의 Consumer에게 메시지를 균등 분배 할 수 있습니다. 또한 Consumer 갯수를 계속 추가하면서 쉽게 수평 확장이 가능합니다. 이 방식에서 모든 Consumer는 평균적으로 동일한 수의 메시지를 처리합니다. Message acknowledgment 특정 처리를 하다가 Consumer가 하나 죽으면, 해당 Consumer가 처리하던 메시지를 잃게됩니다.. 이를..

RabbitMQ 2022.04.08

[RabbitMQ] 기초 개념 - 1

RabbitMQ는 메시지 브로커입니다. AMQP 프로토콜을 구현하여씅며, 시스템 간 메시지를 전달해줍니다. 주로 사용하는 몇 가지 용어가 있는데, 해당 용어부터 정리해보겠습니다. - Producer : 메시지를 전송 - Consumer : 메시지를 수신해서 처리 - Queue : RabbitMQ안에 있는 큐. 메시지들은 큐 안에 저장 이해가 쉽게 이미지와 함께 보면 아래와 같습니다. 위 이미지에서는 단순하게 전송, 수신 2가지 기능이 있습니다. - 전송(Sending) Producer에서 큐로 메시지를 보냅니다. 과정은 간단히 다음과 같이 처리 됩니다. 1. Producer에서 RabbitMQ 연결 2. Producer에서 RabbitMQ로 메시지 전송 3. 전송 완료 후 연결 종료 - 수신(Receiv..

RabbitMQ 2022.04.01