Я использую RabbitMQ, SocketIO и MongoDB для создания личных сообщений для моего приложения. План состоит в том, чтобы, когда новый пользователь регистрируется, приложение создает новую уникальную очередь RabbitMQ для этого пользователя, причем этот пользователь может получать сообщения, когда он находится в автономном режиме. Таким образом, пользователь отправляет сообщение через SocketIO, и оно передается в RabbitMQ Publisher, а затем, когда потребитель находится в сети, он получает это сообщение. Теперь у меня вопрос, как установить валидацию идентификатора пользователя из функции sendToQueue (Publisher), чтобы позже можно было считывать идентификатор отправителя из функции потребления?
amqp.connect(CONN_URL, function(err, conn) {
conn.createChannel(function(err, channel) {
ch = channel;
console.log("RabbitMQ channel created...");
});
});
const publishToQueue = async (queueName, data) => {
ch.sendToQueue(queueName, Buffer.from(data.message));
};
const consumeToQueue = async queueName => {
ch.consume(
queueName,
function(msg) {
return msg.content.toString();
},
{ noAck: true }
);
};