Junior — Middle
Haben Sie Erfahrung mit dem Messaging-System RabbitMQ?
sobes.tech KI
Antwort von AI
Ja, ich habe Erfahrung mit RabbitMQ. Es ist ein Nachrichtenbroker, der es Anwendungen ermöglicht, asynchron Daten über Warteschlangen auszutauschen. In Node.js wird häufig die Bibliothek amqplib verwendet, um mit RabbitMQ zu arbeiten.
Beispiel für einen einfachen Sender und Empfänger:
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);
}
});
}
// Für das Senden rufen Sie sendMessage() auf, für den Empfang receiveMessage()