जावा RabbitMQ का कार्य ढंग एक ही कतार से संदेशों को अनेक उपभोक्ताओं को कॉन्स्यूम करने को विन्यसित करने का है, जो संदेशों की सहभागी प्रसंस्करण गति को बढ़ा सकता है। वास्तविकता निम्न दिए गए डायग्राम में दिखाई गई है।
ध्यान दें: रैबिटएमक्यू में कोई भी कार्य ढंग का उपयोग किया जाए, हर कतार को कई उपभोक्ताओं का समर्थन करता है। एक ही कतार के लिए, एक संदेश केवल उपभोक्ताओं में से एक द्वारा प्रसंस्कृत किया जाएगा।
1. प्रारंभिक ट्यूटोरियल
कृपया संबंधित ज्ञान समझने के लिए पहले निम्नलिखित खंड पढ़ें।
- रैबिटएमक्यू मूल अवधारणाएँ
- रैबिटएमक्यू कार्य ढंग
- जावा के लिए रैबिटएमक्यू त्वरित प्रारंभ (अनिवार्य, क्योंकि आगामी खंड कोड को नहीं दोहराएगे, केवल प्रमुख कोड प्रदर्शित करेंगे)
2. अनेक उपभोक्ताओं को विन्यसित करना
रैबिटलिस्टेनर एनोटेशन का उपयोग करके और 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
// मैसेज लिस्टेनर को घोषित करें और कतार को सुनने के लिए कतार पैरामीटर की माध्यम से कतार की घोषणा करें
// महत्वपूर्ण पैरामीटर: concurrency, वर्तमान लिस्टेनर के लिए शुरू करने वाले उपभोक्ताओं की संख्या को प्रतिनिधित्व करता है, और इसके प्रकार को एक स्ट्रिंग कहा जाता है
@RabbitListener(queues = "hello", concurrency = "10")
public class HelloListener {
// मैसेज हैण्डलर को चिह्नित करने के लिए रैबिटहैंडलर का उपयोग करें, जो संदेश प्रसंस्करण तार्किकता को कार्यान्वित करने के लिए प्रयोग किया जाता है
@RabbitHandler
public void receive(String msg) {
System.out.println("उपभोक्ता - संदेश प्राप्त किया '" + msg + "'");
}
}