자바 RabbitMQ의 작업 모드는 단일 대기열에서 메시지를 소비하기 위해 여러 소비자를 구성하는 것으로, 이는 메시지의 동시 처리 속도를 향상시킬 수 있습니다. 아키텍처는 다음 다이어그램에서 볼 수 있습니다.

RabbitMQ Work Mode

참고: RabbitMQ에서 어떤 작업 모드를 사용하더라도 각 대기열은 여러 소비자를 지원합니다. 동일한 대기열의 경우 메시지는 소비자 중 하나에 의해서만 처리됩니다.

1. 입문 튜토리얼

관련 지식을 이해하기 위해 먼저 다음 섹션을 읽어주세요.

2. 여러 소비자 구성하기

RabbitListener 주석을 사용하여 concurrency 매개변수를 구성함으로써 아래 코드로 10개의 소비자를 동시에 메시지 처리를 시작할 수 있습니다.

package com.tizi365.rabbitmq.listener;

import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;

@Component
// 메시지 리스너를 선언하고 queues 매개변수를 통해 듣기를 시작할 대기열을 지정합니다.
// 중요 매개변수: concurrency는 현재 리스너에 시작해야 하는 소비자 수로, 그 유형은 문자열입니다.
@RabbitListener(queues = "hello", concurrency = "10")
public class HelloListener {
	// RabbitHandler를 사용하여 메시지 핸들러를 표시합니다. 이는 메시지 처리 논리를 실행하는 데 사용됩니다.
    @RabbitHandler
    public void receive(String msg) {
        System.out.println("소비자 - 메시지 수신: '" + msg + "'");
    }
}