Sobes.tech
Junior — Middle

Papaskinkite apie savo patirtį dirbant su žinučių tarpininkais ir jų naudojimą projektuose

sobes.tech AI

Atsakymas iš AI

Node.js projektuose dirbau su žinučių tarpininkais, tokiais kaip RabbitMQ ir Apache Kafka. Jie naudojami asinchroninio žinučių mainų organizavimui tarp sistemos komponentų, kas didina mastelį ir atsparumą klaidoms.

Pavyzdžiui, viename projekte RabbitMQ buvo naudojamas foninių užduočių apdorojimui: žiniatinklio serveris siųsdavo žinutes į eilę, o atskiras darbuotojas jas apdorodavo. Tai leido sumažinti pagrindinio srauto apkrovą ir pagerinti programos reagavimo laiką.

Pavyzdys, kaip siųsti žinutę į RabbitMQ Node.js naudojant biblioteką 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();

Šiuo būdu žinučių tarpininkai padeda kurti paskirstytas ir mastelį didinančias sistemas su efektyviu duomenų apdorojimu.