RabbitMQ Work Queues(작업 모드)는 하나의 생산자와 여러 소비자를 포함합니다. 각 메시지는 하나의 소비자에 의해서만 소비될 수 있어 동시에 메시지를 처리할 수 있습니다.

아키텍처 다이어그램

Work Mode 설명: P는 생산자를 나타내고, C1과 C2는 소비자를 나타내며, 빨간색은 큐를 나타냅니다.

유증사례

이 모드는 개별 비즈니스 및 일대일 동시 처리 사례에 적합합니다. 예를 들어, 1000 개의 이메일을 보낼 때, 100 개의 소비자를 활용하여 한 번에 100 개의 이메일을 동시에 보낼 수 있습니다.

참고: 동일한 큐에서 여러 소비자가 동시에 메시지를 소비할 때 엄격한 메시지 순서를 보장할 수 없습니다. 예를 들어, 큐에 10 개의 메시지가 있고 10 개의 소비자가 동시에 이를 처리하면 일부 소비자는 다른 소비자보다 더 빨리 실행될 수 있습니다. 그 결과로 메시지 처리 순서가 큐에있는 메시지의 순서와 일치하지 않을 수 있습니다. 비즈니스가 메시지 순서에 엄격한 요구 사항이 있는 경우, 각 큐를 하나의 소비자만 가지도록 제어하여 연결성이 줄어들지만 메시지 처리 순서를 엄격하게 보장할 수 있습니다.