Java RabbitMQ এর কাজের মোডটি এমন নির্ধারিত করা যা, একটি সিঙ্গেল কিউ থেকে একাধিক কনসিউমার কনফিগার করে এটি সময়েক প্রসেসিং স্পীড বাড়ানোর জন্য ব্যবহার হয়। উপরোক্ত ডায়াগ্রামে স্থানান্তরিত বিতর্কিত হয়।
নোট: RabbitMQ-এ কোনও কাজেই কোনও ওয়ার্ক মোড ব্যবহার করতে কাজ করছে না, প্রতিটি কিউ এবং একই কিউ এর জন্য, একটি বার্তা কেবল একটি কনসিউমার দ্বারা প্রসেস করা হবে।
1. প্রাথমিক টিউটোরিয়াল
সম্পর্কিত জ্ঞান বোঝার জন্য প্রথমে নিম্নলিখিত বিভাগগুলি পড়ুন।
- RabbitMQ মূল পরিকল্পনা
- RabbitMQ ওয়ার্ক মোড
- Java-তে RabbitMQ দ্রুত শুরু (ওবাধানিত, কারণ পরবর্তী বিভাগগুলিতে কোডটি পুনরাবৃত্তি করবে না, কেবল গুরুত্বপূর্ণ কোডটি প্রদর্শন করবে)
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
// অ্যানোটেটে করে ডিক্লেয়ার করা এবং কিউগুলি প্যারামিটারের মাধ্যমে শোনা প্যারামিটারে শুনাতে বলা হয়
// মূল প্যারামিটার: অমান্যয়মণোয়মণ প্যারামিটারের জন্য প্রস্ষোসণ করতে বলা সেটির সংখ্যা, এবং এর টাইপ একটি স্ট্রিং
@RabbitListener(queues = "hello", concurrency = "10")
public class HelloListener {
// বার্তা হ্যান্ডলার চিহ্নিত করতে RabbitHandler ব্যবহার করে, যা বার্তা প্রসেসিং লজিক চালানোর জন্য ব্যবহৃত হয়
@RabbitHandler
public void receive(String msg) {
System.out.println("কনসিউমার - '" + msg + "' বার্তা পেয়েছে");
}
}