प्राथमिकता कतारें, जैसे नाम से ही पता चलता है, उच्च प्राथमिकता वाले संदेशों को उपभोक्ता द्वारा अधिक प्राथमिकता दी जाती है।

RabbitMQ प्राथमिकता कतारों के लिए ध्यान देने योग्य बातें:

  • प्राथमिकता कतारें केवल तभी प्रभावी होती हैं जब संग्रहकों की कमी हो और संवाहन उचित समय में नहीं की जा सकती है।
  • प्राथमिकता कतारों का समर्थन केवल RabbitMQ संस्करण 3.5 के बाद किया गया है।

RabbitMQ प्राथमिकता कतारों का उपयोग करने के चरण

  1. कतार की अधिकतम प्राथमिकता सेट करें।
  2. संदेश की प्राथमिकता सेट करें।

कतार की अधिकतम प्राथमिकता सेट करें

कतार की घोषणा करते समय, कतार की अधिकतम प्राथमिकता को कतार गुण (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),
	})