Junior — Middle
Реците о вашем искуству са брокерима порука и њиховој употреби у пројектима
sobes.tech АИ
Одговор од АИ
U Node.js projektima radio sam s posrednicima poruka poput RabbitMQ i Apache Kafka. Oni se koriste za organizaciju asinhrone razmene poruka između komponenti sistema, čime se povećava skalabilnost i otpornost na greške.
Na primer, u jednom projektu, RabbitMQ je korišćen za obradu zadataka u pozadini: veb server je slao poruke u red, a poseban radnik ih je obrađivao. To je omogućavalo rasterećenje glavnog toka i poboljšanje odziva aplikacije.
Primer slanja poruke u RabbitMQ u Node.js koristeći biblioteku amqplib:
const amqp = require('amqplib');
async function sendMessage() {
const connection = await amqp.connect('amqp://localhost');
const channel = await connection.createChannel();
const queue = 'tasks';
const msg = 'Process this task';
await channel.assertQueue(queue, { durable: true });
channel.sendToQueue(queue, Buffer.from(msg));
console.log("[x] Sent '%s'", msg);
setTimeout(() => {
connection.close();
}, 500);
}
sendMessage();
Na ovaj način, posrednici poruka pomažu u izgradnji distribuiranih i skalabilnih sistema sa efikasnom obradom podataka.