Sobes.tech
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.