Junior — Middle
RabbitMQ mesajlaşma sistemi ile çalışma deneyiminiz var mı?
sobes.tech yapay zeka
AI'dan gelen yanıt
Evet, RabbitMQ ile çalışma deneyimim var. Bu, uygulamaların kuyruklar aracılığıyla asenkron veri alışverişi yapmasını sağlayan bir mesaj aracısıdır. Node.js'te, RabbitMQ ile çalışmak için sıklıkla amqplib kütüphanesi kullanılır.
Basit bir mesaj gönderen ve alan örneği:
const amqp = require('amqplib');
async function sendMessage() {
const connection = await amqp.connect('amqp://localhost');
const channel = await connection.createChannel();
const queue = 'task_queue';
const msg = 'Hello RabbitMQ!';
await channel.assertQueue(queue, { durable: true });
channel.sendToQueue(queue, Buffer.from(msg), { persistent: true });
console.log(" [x] Sent '%s'", msg);
setTimeout(() => {
connection.close();
process.exit(0);
}, 500);
}
async function receiveMessage() {
const connection = await amqp.connect('amqp://localhost');
const channel = await connection.createChannel();
const queue = 'task_queue';
await channel.assertQueue(queue, { durable: true });
channel.prefetch(1);
console.log(" [*] Waiting for messages in %s. To exit press CTRL+C", queue);
channel.consume(queue, (msg) => {
if (msg !== null) {
console.log(" [x] Received %s", msg.content.toString());
channel.ack(msg);
}
});
}
// Gönderim için sendMessage()'yi çağırın, alım için receiveMessage()'yi çağırın