ریبٹ ایم کیو کی پائرسسٹنس میکینز میں قوی پائرسسٹنس، پیغام کی پائرسسٹنس، اور ایکسچینج پائرسسٹنس شامل ہے۔ پیغام ہو یا نہ ہو، یہ ڈسک پر لکھا جا سکتا ہے۔
قوی پیغام پر دستاویزات کو دونوں ڈسک اور یاداشت میں لکھا جاتا ہے (پڑھائی کو تیز کرنے کے لئے)، جبکہ غیر قوی پیغامات کو دسک پر لکھا جاتا ہے جب یاداشت کی کمی ہوتی ہے (ریبٹ ایم کیو دوبارہ چلانے کے بعد وهان گئے جائیں گے)
ریبٹ ایم کیو قوین پائرسسٹنس
جب ایک قیود کا اعلان کرتے ہیں، تو آپ کو درست کرنا ہوتا ہے کہ قیود میں ضرورت ہے یا نہیں۔ گولینگ میں، قیود کا اعلان درج ذیل ہوتا ہے:
q, err := ch.QueueDeclare(
"hello", // قیود کا نام
true, // یہاں ظاہر کریں کہ قیود محفوظ کرنا چاہئے یا نہیں
false,
false,
false,
nil,
)
مشورہ: دوسری پروگرامنگ زبانوں کی طرح، جب اسے کا اعلان کرتے ہیں تو قیود رکھا جا سکتا ہے۔
ریبٹ ایم کیو ایکسچینج پائرسسٹنس
جب ایک ایکسچینج کا اعلان کیا جاتا ہے، تو خصوصیات کا استعمال کرکے ظاہر کیا جا سکتا ہے کہ وهاں پرسسٹنس کی ضرورت ہے یا نہیں۔ گولینگ میں، یہ درج ذیل ہوتا ہے:
err = ch.ExchangeDeclare(
"tizi365", // ایکسچینج کا نام
"fanout", // ایکسچینج قسم
true, // وهاں پرسسٹنس ہونی چاہئے یا نہیں
false,
false,
false,
nil,
)
مشورہ: دوسری پروگرامنگ زبانوں کی طرح، ایکسچینج کا اعلان کرتے وقت پرسسٹنس کو ترتیب دی جا سکتی ہے۔
ریبٹ ایم کیو پیغام پائرسسٹنس
جب پیغام کو شائع کیا جاتا ہے، تو پیغام کو درست کرنے کی خصوصیات کے ذریعے یہ ظاہر کیا جا سکتا ہے کہ کہیں یہ خود محفوظ ہونا چاہئے یا نہیں۔
مشورہ: قیود پائرسسٹنس کا مطلب ہے کہ پیغام خود ہی پائرسسٹنٹ نہیں ہوتا۔
گولنگ میں، پیغامات درج ذیل طریقے سے شائع کیے جاتے ہیں:
err = ch.Publish(
"tizi365", // ایکسچینج
"", // راستہ کی چابی
false,
false,
amqp.Publishing{
DeliveryMode:2, // پیغام پہنچانے کی طریقہ، 1 غیر پائرسسٹنٹ کے لئے، 2 پائرسسٹنٹ کے لئے
ContentType: "text/plain",
Body: []byte(body),
})