Sobes.tech
Back to questions
Junior — Middle
98

Насколько глубоко вы ориентируетесь в RabbitMQ и его возможностях?

Answer from AI

sobes.tech AI

Я знаком с основными концепциями RabbitMQ и его возможностями, включая:

  • Основы работы с очередями сообщений, обменниками (exchanges) и привязками (bindings).
  • Типы обменников: direct, fanout, topic, headers и их применение.
  • Основные протоколы взаимодействия, например AMQP.
  • Настройка подтверждений сообщений (acknowledgements) и обработка отказов.
  • Работа с очередями с долговечностью и временными TTL.

Пример простого отправителя и получателя на Node.js с использованием amqplib:

const amqp = require('amqplib');

async function send() {
  const conn = await amqp.connect('amqp://localhost');
  const channel = await conn.createChannel();
  const queue = 'task_queue';
  await channel.assertQueue(queue, { durable: true });
  const msg = 'Hello RabbitMQ';
  channel.sendToQueue(queue, Buffer.from(msg), { persistent: true });
  console.log(" [x] Sent '%s'", msg);
  setTimeout(() => { conn.close(); process.exit(0); }, 500);
}

send();

Это позволяет мне использовать RabbitMQ для организации асинхронного взаимодействия между сервисами.