Kodeloka
  1. Kodeloka
  2. Kelas Microservices
  3. Materi

Komunikasi · Modul 9 dari 24

Belajar Microservices - Asynchronous Messaging

Komunikasi asinkron Event-Driven Architecture menggunakan Message Brokers (RabbitMQ, Apache Kafka, Redis Streams) untuk loose coupling total.

1. Konsep Asynchronous Messaging

Berbeda dari panggilan sinkron, pada Asynchronous Messaging, Service Pengirim (Publisher) cukup mempublikasikan pesan (Event / Message) ke Message Broker lalu langsung melanjutkan pekerjaannya tanpa tertahan (non-blocking).

2. Keuntungan Asynchronous Messaging

  • Loose Coupling Total: Publisher tidak perlu tahu IP address atau status dari Consumer.
  • Traffic Buffering & Spike Smoothing: Jika terjadi lonjakan transaksi 100.000 order per detik, Message Broker (seperti Kafka/RabbitMQ) menampung seluruh pesan di Queue. Consumer Service akan memproses pesan sesuai kapasitasnya tanpa crash.
  • High Availability: Jika Consumer Service sedang down saat event dikirim, pesan tetap tersimpan aman di Broker dan akan diproses saat Consumer aktif kembali.

3. Message Broker Populer: RabbitMQ vs Apache Kafka

  • RabbitMQ (AMQP / Message Queue): Berfokus pada ruting pesan kompleks (Direct, Fanout, Topic exchange) dan pengiriman pesan per-item.
  • Apache Kafka (Distributed Event Streaming): Berfokus pada log terdistribusi berkapasitas raksasa, imutabel event stream, dan replayability pesan.