Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Slide DevCoach

shabilla
April 11, 2024
10

Slide DevCoach

DevCoach 129 : Back-End | Membangun aplikasi modern dengan Message Queue

shabilla

April 11, 2024
Tweet

Transcript

  1. What is Message Queue? Message queue adalah bentuk komunikasi asynchronous

    antar layanan (services) yang biasanya digunakan pada arsitektur microservices. Back-End
  2. Message Queue Use Case • Ecommerce: order process, shipping, invoice,

    dll. • Financial services: transaction processing. • Analytics: user log. Back-End
  3. When to Use Message Queue? • Pengguna Sudah Ribuan •

    Asynchronous Proses • Microservices Arsitektur • Analytics Back-End
  4. Point-to-point Point-to-point messaging adalah pola distribusi yang digunakan dalam message

    queue. Point-to-point messaging memiliki hubungan one-to-one antara pengirim dan penerima pesan (disebut juga sebagai producer dan consumer). Back-End
  5. Publish/subscribe Publish/subscribe adalah pola message queue yang memungkinkan pesan untuk

    di-broadcast ke berbagai bagian sistem secara asinkron. Pesan apa pun yang di-publish ke suatu topic akan segera diterima oleh semua yang subscribe ke topik tersebut. Back-End
  6. RabbitMQ Back-End RabbitMQ adalah salah satu message broker open-source yang

    populer digunakan. RabbitMQ dapat mendukung banyak protokol seperti AMQP, STOMP, MQTT, HTTP, dan WebSocket.
  7. Menghubungkan RabbitMQ const connection = await amqp.connect(process.env.RABBITMQ_SERVER); const channel =

    await connection.createChannel(); await channel.assertQueue(queue, { durable: true, }); await channel.sendToQueue(queue, Buffer.from(message));
  8. Menghubungkan Consumer ke RabbitMQ const connection = await amqp.connect(process.env.RABBITMQ_SERVER); const

    channel = await connection.createChannel(); await channel.assertQueue('order:confirm', { durable: true, }); channel.consume('order:confirm', listener.listen, { noAck: true });
  9. Feedback! Hadiah: • 2 Token Langganan Academy (30 Hari) *untuk

    pengisi feedback terpilih! dicoding.id/devcoachfeedback