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.