Sobes.tech
Junior — Middle

Xabar brokerlari bilan ishlash tajribangiz va ularni loyihalarda qo'llash haqida gapiring

sobes.tech AI

AIdan javob

Node.js loyihalarida RabbitMQ va Apache Kafka kabi xabarlar brokerlari bilan ishladim. Ular tizim komponentlari o'rtasida asinxron xabar almashinuvi tashkil qilish uchun ishlatiladi, bu esa kengaytiriluvchanlik va nosozliklarga chidamlilikni oshiradi.

Masalan, bir loyihada RabbitMQ fon vazifalarini bajarish uchun ishlatilgan: veb-server xabarlarni navbatga yuborardi, va alohida ishchi ularni qayta ishlardi. Bu asosiy oqimni yuklamaslik va ilovaning javob berish qobiliyatini yaxshilash imkonini berdi.

Node.jsda amqplib kutubxonasi yordamida RabbitMQ ga xabar yuborish misoli:

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();

Shu tarzda, xabar brokerlari tarqatilgan va kengaytiriladigan tizimlarni qurishda yordam beradi, samarali ma'lumotlarni qayta ishlash bilan.