আমি কেবল সাধারণভাবে খরগোশ এমকিউ এবং এএমকিউপি ব্যবহার শুরু করছি।
- আমার বার্তার একটি সারি রয়েছে
- আমার একাধিক গ্রাহক রয়েছে, যা আমি একই বার্তায় বিভিন্ন জিনিস করতে চাই ।
বেশিরভাগ রাবিট এমকিউ ডকুমেন্টেশন মনে হয় রাউন্ড-রবিনের উপর দৃষ্টি নিবদ্ধ করা হয়েছে, যেখানে একক গ্রাহক একক বার্তা গ্রাহ্য করেছেন, প্রতিটি গ্রাহকের মধ্যে বোঝা ছড়িয়ে পড়েছে। আমি প্রকৃতপক্ষে এটিই আচরণ করি।
উদাহরণ: প্রযোজকের একক সারি রয়েছে এবং প্রতি 2 সেকেন্ডে বার্তা প্রেরণ করুন:
var amqp = require('amqp');
var connection = amqp.createConnection({ host: "localhost", port: 5672 });
var count = 1;
connection.on('ready', function () {
var sendMessage = function(connection, queue_name, payload) {
var encoded_payload = JSON.stringify(payload);
connection.publish(queue_name, encoded_payload);
}
setInterval( function() {
var test_message = 'TEST '+count
sendMessage(connection, "my_queue_name", test_message)
count += 1;
}, 2000)
})
এবং এখানে একজন গ্রাহক আছেন:
var amqp = require('amqp');
var connection = amqp.createConnection({ host: "localhost", port: 5672 });
connection.on('ready', function () {
connection.queue("my_queue_name", function(queue){
queue.bind('#');
queue.subscribe(function (message) {
var encoded_payload = unescape(message.data)
var payload = JSON.parse(encoded_payload)
console.log('Recieved a message:')
console.log(payload)
})
})
})
যদি আমি দু'বার গ্রাহককে শুরু করি তবে আমি দেখতে পাচ্ছি যে প্রতিটি গ্রাহক রাউন্ড-রবিন আচরণে বিকল্প বার্তা গ্রহণ করছে। উদাহরণস্বরূপ, আমি এক টার্মিনালে 1, 3, 5, অন্যটিতে 2, 4, 6 বার্তা দেখতে পাচ্ছি ।
আমার প্রশ্নটি হ'ল:
আমি কি প্রতিটি গ্রাহককে একই বার্তা পেতে পারি? অর্থাত্, উভয় গ্রাহকই 1, 2, 3, 4, 5, 6 বার্তা পান? এএমকিউ / রাবিটএমকিউতে এটিকে কী বলা হয়? এটি কীভাবে সাধারণত কনফিগার করা হয়?
এটি কি সাধারণত হয়? পরিবর্তে আমার একক ভোক্তার সাথে বার্তাটি দুটি পৃথক কাতারে সরিয়ে নেওয়া উচিত?