Sobes.tech
Junior — Middle

Qual o seu nível de conhecimento sobre o RabbitMQ e suas funcionalidades?

sobes.tech IA

Resposta da IA

Conheço os conceitos básicos do RabbitMQ e suas capacidades, incluindo:

  • Fundamentos de trabalho com filas de mensagens, exchanges e bindings.
  • Tipos de exchanges: direct, fanout, topic, headers e suas aplicações.
  • Protocolos principais de interação, como AMQP.
  • Configuração de confirmações de mensagens (acknowledgements) e tratamento de falhas.
  • Trabalho com filas duráveis e TTLs temporários.

Exemplo de um simples remetente e destinatário em Node.js usando 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();

Isso me permite usar RabbitMQ para organizar a interação assíncrona entre os serviços.