प्राथमिकता कतारें, जैसे नाम से ही पता चलता है, उच्च प्राथमिकता वाले संदेशों को उपभोक्ता द्वारा अधिक प्राथमिकता दी जाती है।
RabbitMQ प्राथमिकता कतारों के लिए ध्यान देने योग्य बातें:
- प्राथमिकता कतारें केवल तभी प्रभावी होती हैं जब संग्रहकों की कमी हो और संवाहन उचित समय में नहीं की जा सकती है।
- प्राथमिकता कतारों का समर्थन केवल RabbitMQ संस्करण 3.5 के बाद किया गया है।
RabbitMQ प्राथमिकता कतारों का उपयोग करने के चरण
- कतार की अधिकतम प्राथमिकता सेट करें।
- संदेश की प्राथमिकता सेट करें।
कतार की अधिकतम प्राथमिकता सेट करें
कतार की घोषणा करते समय, कतार की अधिकतम प्राथमिकता को कतार गुण (x-max-priority) के माध्यम से सेट करें। प्राथमिकता के लिए अधिकतम मान 255 है, और इसे 1 और 10 के बीच सेट करना अनुशंसित है। गोलैंग में सेटिंग:
// कतार गुण
props := make(map[string]interface{})
// कतार की अधिकतम प्राथमिकता सेट करें
props["x-max-priority"] = 10
// कतार की घोषणा करें
q, err := ch.QueueDeclare(
"tizi365.hello", // कतार का नाम
true, // कतार स्थायी
false, // अत्युपयोग करने पर मिटाएं
false, // विशेष
false, // कोई प्रतीक्षा न करें
props, // कतार गुण सेट करें
)
सुझाव: अन्य भाषाओं में सेट करने का तरीका समान होता है।
संदेश प्राथमिकता सेट करें
गोलैंग में सेटिंग:
err = ch.Publish(
"tizi365", // एक्सचेंज
"", // रूटिंग कुंजी
false,
false,
amqp.Publishing{
Priority:5, // संदेश प्राथमिकता सेट करें
DeliveryMode:2, // संदेश वितरण मोड, अस्थायी के लिए 1, स्थायी के लिए 2
ContentType: "text/plain",
Body: []byte(body),
})