System Architecture 05 Juni 2026 8 Menit Baca MAYASTRA NAWALOKA

Pola Event-Driven Architecture: Mengurai Dependensi System Backend Dengan Message Queue

Dalam arsitektur monolithic atau request-response sinkron standar, kelambatan pada satu service dapat menyebabkan efek domino. Event-Driven Architecture (EDA) hadir untuk mengurai ikatan keras tersebut.

Mengapa Synchronous HTTP Request-Response Rentan Hambatan

Ketika sebuah transaksi HTTP memerlukan eksekusi beruntun (misalnya: membuat pesanan, memotong stok, mengirim email konfirmasi, memunculkan notifikasi push, dan memposting webhook audit), setiap langkah menambahkan waktu tunggu pengguna. Kegagalan pada service email dapat membatalkan transaksi pesanan yang sejatinya sudah berhasil di database.

"Event-driven architecture mengubah orientasi sistem dari 'meminta service bekerja sekarang' menjadi 'mengumumkan peristiwa yang telah terjadi' dan membiarkan konsumen yang tertarik menanganinya secara mandiri."

MAYASTRA NAWALOKA, System Architect

Mekanisme Publisher-Subscriber dan Asynchronous Processing

Dengan mengintegrasikan broker pesan seperti RabbitMQ atau Apache Kafka, pengirim pesan (Publisher) hanya menerbitkan event ke broker tanpa perlu tahu siapa yang membaca pesan tersebut. Sistem konsumen (Consumers) mengambil dan memproses pesan dari antrean sesuai kapasitas masing-masing.

RabbitMQ Event Publisher Example (Node.js)
// Menerbitkan event secara asinkron tanpa menunggu pengiriman email
const amqp = require('amqplib');

async function publishOrderCreated(orderData) {
    const conn = await amqp.connect('amqp://localhost');
    const ch = await conn.createChannel();
    const exchange = 'order_events';

    await ch.assertExchange(exchange, 'topic', { durable: true });
    ch.publish(exchange, 'order.created', Buffer.from(JSON.stringify(orderData)));
    
    console.log("Event order.created dipublikasikan ke broker.");
    await ch.close();
    await conn.close();
}

Ringkasan Arsitektur Event-Driven

  • Mengurangi latensi respons pengguna secara signifikan dengan memindahkan tugas berat ke antrean latar belakang.
  • Memastikan sistem tetap bertahan (fault-tolerant) saat service sekunder sedang mengalami perawatan atau down sementara.
MAYASTRA NAWALOKA Logo

MAYASTRA NAWALOKA

Distributed Systems & Backend Engineering

Spesialis rekayasa perangkat lunak berdedikasi tinggi dalam merancang arsitektur terdistribusi, message broker, dan sistem backend berskala besar.

Ingin Menerapkan Event-Driven Architecture Pada Sistem Anda?

Konsultasikan arsitektur backend dan integrasi message queue Anda bersama tim spesialis MAYASTRA NAWALOKA.

Konsultasi Proyek Bersama Kami