Java RabbitMQ'nun Çalışma modu, tek bir kuyruktan mesajları tüketmek üzere birden fazla tüketiciyi yapılandırmaktır. Bu, mesajların eş zamanlı işlenme hızını artırabilir. Mimarisi aşağıdaki diyagramda gösterildi.

RabbitMQ Çalışma Modu

Not: RabbitMQ'da hangi çalışma modunun kullanıldığına bakılmaksızın, her kuyruk birden fazla tüketiciyi destekler. Aynı kuyruk için, bir mesaj yalnızca tüketiciyi tarafından işlenecektir.

1. Hazırlayıcı Öğretici

Lütfen ilgili bilgileri anlamak için önce aşağıdaki bölümleri okuyun.

2. Birden Fazla Tüketiciyi Yapılandırma

RabbitListener açıklamasını kullanarak ve concurrency parametresini yapılandırarak aşağıdaki kod ile 10 tüketiciyi aynı anda mesajları işlemeye başlatabilirsiniz.

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
// Mesaj dinleyicisini tanımlayın ve queues parametresi aracılığıyla dinlenmesi gereken kuyruğu belirtin
// Anahtar parametre: concurrency, mevcut dinleyici için başlatılması gereken tüketici sayısını temsil eder ve tipi dizedir
@RabbitListener(queues = "hello", concurrency = "10")
public class HelloListener {
	// RabbitHandler'ı kullanarak mesaj işleyicisini işaretlemek, bu, mesaj işleme mantığını yürütmek için kullanılır
    @RabbitHandler
    public void receive(String msg) {
        System.out.println("Tüketici - Alınan mesaj: '" + msg + "'");
    }
}