RabbitMQ-এর ধারণা সংরক্ষণ ব্যবস্থাটি কিউ ধারণা, বার্তা ধারণা, এবং বিনিময় ধারণা রয়েছে। বার্তা স্থায়ী কিনা বোঝা যায় কি না, এটি ডিস্কে লেখা যেতে পারে।
স্থায়ী বার্তা একাধিক ডিস্ক এবং মেমোরিতে (পড়ায় দাঁড়াতে স্পীড আপ করার জন্য) লেখা হয়, যখন মেমোরি অপর্যাপ্ত হবে (এখানে পুনরায় RabbitMQ চালু করতে এগিয়ে যাবে) তাহলে অস্থায়ী বার্তা ডিস্কে লেখা হয়।
RabbitMQ কিউ স্থায়ীতা
একটি কিউ ঘোষণা করার সময়, আপনি সেট করতে পারেন কে কিউটি স্থায়ী হতে হবে কিনা। গোল্ডেঙ্গোতে, কিউ ঘোষণা ক্রম্য়ই হল।
q, err := ch.QueueDeclare(
"hello", // কিউ নাম
true, // কিউটি স্থায়ী হবে কিনা
false,
false,
false,
nil,
)
প্রয়োজনীয়: অন্য প্রোগ্রামিং ভাষার মতো, কিউ ঘোষণা করার সময় সেট করা যেতে পারে।
RabbitMQ এক্সচেঞ্জ স্থায়ীতা
এক্সচেঞ্জ ঘোষণা করার সময়, গুণগুণি ব্যবহার করে সেট করতে পারেন কে এটি স্থায়ী হতে হবে। গোল্ডেঙ্গোতে, এটি এমনভাবে ঘোষণা করা হয়:
err = ch.ExchangeDeclare(
"tizi365", // এক্সচেঞ্জ নাম
"fanout", // এক্সচেঞ্জ ধরন
true, // এটি স্থায়ী হতে হবে কিনা
false,
false,
false,
nil,
)
প্রয়োজনীয়: অন্য প্রোগ্রামিং ভাষার মতো, এক্সচেঞ্জ ঘোষণা করার সময়, স্থায়ীতা সেট করা যেতে পারে।
RabbitMQ বার্তা স্থায়ীতা
একটি বার্তা প্রকাশ করার সময়, বার্তা স্থায়ী হতে হবে কিনা সেট করতে পারেন মেসেজ গুণগুণি ব্যবহার করে।
প্রয়োজনীয়: কিউ স্থায়ীতা বোঝায় বার্তাটি স্বয়ংক্রিয়ভাবে স্থায়ী হয়না।
গোল্ডেঙ্গোতে, বার্তা প্রকাশ করা হয় এভাবে:
err = ch.Publish(
"tizi365", // এক্সচেঞ্জ
"", // রাউটিং কি
false,
false,
amqp.Publishing{
DeliveryMode:2, // বার্তা ডেলিভারি মোড, 1 হল অস্থায়ী, 2 হল স্থায়ী
ContentType: "text/plain",
Body: []byte(body),
})