Antrian prioritas, seperti namanya, memberikan prioritas kepada pesan dengan prioritas yang lebih tinggi untuk dikonsumsi.

Hal-hal yang perlu diperhatikan untuk Antrian Prioritas RabbitMQ:

  • Antrian prioritas hanya berlaku ketika ada jumlah konsumen yang tidak mencukupi dan konsumsi tidak dapat dilakukan dengan tepat waktu.
  • Antrian prioritas hanya didukung setelah versi RabbitMQ 3.5.

Langkah-langkah Menggunakan Antrian Prioritas RabbitMQ

  1. Tetapkan prioritas maksimum dari antrian.
  2. Tetapkan prioritas dari pesan.

Tetapkan Prioritas Maksimum dari Antrian

Saar mendeklarasikan antrian, tetapkan prioritas maksimum dari antrian melalui properti antrian (x-max-priority). Nilai maksimum untuk prioritas adalah 255, dan disarankan untuk menetapkannya antara 1 dan 10. Penetapan pada Golang:

	// Properti antrian
	props := make(map[string]interface{})
	// Tetapkan prioritas maksimum dari antrian
	props["x-max-priority"] = 10

// Mendeklarasikan antrian
q, err := ch.QueueDeclare(
	"tizi365.hello", // Nama antrian
	true,  // Antrian tahan lama
	false, // Hapus ketika tidak digunakan
	false, // Eksklusif
	false, // Tidak menunggu
	props, // Tetapkan properti antrian
)

Tip: Metode pengaturan dalam bahasa pemrograman lainnya serupa.

Tetapkan Prioritas Pesan

Penetapan pada Golang:

err = ch.Publish(
	"tizi365",     // Pertukaran
	"", // Kunci routing
	false,
	false,
	amqp.Publishing{
		Priority:5, // Tetapkan prioritas pesan
		DeliveryMode:2,  // Mode pengiriman pesan, 1 untuk tidak persisten, 2 untuk persisten
		ContentType: "text/plain",
		Body:        []byte(body),
	})