RabbitMQ Round Robin Nedir?
RabbitMQ Dersleri‘ne devam ediyorum.
Bu yazıda RabbitMQ Java Publisher Uygulamamızdan birden fazla mesaj göndereceğiz ve Consumer uygulamamızı 2 node olarak çalıştıracağız ve RabbitMQ’ya birden fazla değer gönderdiğimizde ve birden fazla Consumer uygulamamız olduğunda nasıl bir davranış olacağını göreceğiz.
Round Robin Nedir?
Round Robin aslında bir bilgisayar algoritması kavramıdır.
RabbitMQ broker’ı consumerlara mesajları gönderirken bu algoritmayı kullanarak load balancing yapmaktadır. Bu sayede consumer’lara eşit şekilde mesajlar iletilmiş olmaktadır.
Uygulama
Önceki dersimizde yaptığımız Publisher uygulamasını birden fazla mesaj gönderecek şekilde güncelleyelim.
public class Publisher {
public static void main(String[] args) throws IOException, TimeoutException {
ConnectionFactory connectionFactory = new ConnectionFactory();
Connection connection = connectionFactory.newConnection();
Channel channel = connection.createChannel();
String[] messages = {"İlk Mesaj", "İkinci Mesaj", "Üçüncü Mesaj", "Dördüncü Mesaj"};
for (String message : messages) {
channel.basicPublish("", "Kuyruk-1", null, message.getBytes());
}
channel.close();
connection.close();
}
}
Code language: JavaScript (javascript)
Publisher uygulamamızda 4 adet mesaj gönderdik.
RabbitMQ dashboarduna bakalım
Önceki dersimizde yaptığımız consumer uygulamasından iki adet çalıştırdıktan sonra konsol çıktımız aşağıdaki gibi olacaktır.
Consumer Uygulaması -1
İlk Mesaj
Üçüncü Mesaj
Consumer Uygulaması – 2
İkinci Mesaj
Dördüncü Mesaj
RabbitMQ mesajların dengeli bir şekilde iki consumer node’una dağıtılmasını sağladı.
Sonraki yazıda görüşmek üzere
No Comment! Be the first one.