Merancang Analitik Real-Time yang Tangguh

Anda membutuhkan dashboard dengan data terbaru. Anda membutuhkannya agar tetap akurat seiring pertumbuhan sistem Anda. Event sourcing adalah solusinya.

Alurnya:

  • Producer: Layanan mengirimkan domain event.
  • Event Bus: Kafka atau Kinesis menyimpan event dalam sebuah log.
  • Processor: Mereka membaca log dan memperbarui read model.
  • Read Model: Postgres atau Redis menyimpan metrik akhir.
  • Query API: Dashboard Anda mengambil data dari sini.

Aturan utama untuk desain Anda:

  • Buat event bersifat immutable. Jangan pernah memperbarui sebuah event.
  • Gunakan idempotency key. Ini mencegah data duplikat.
  • Lakukan versioning pada schema Anda. Ini mencegah terjadinya error.
  • Gunakan deterministic projection. Ini menjaga konsistensi data.

Cara membangunnya:

  • Identifikasi core event Anda.
  • Pilih alat penyimpanan Anda.
  • Bangun proyeksi awal untuk metrik.
  • Implementasikan deduplikasi.
  • Buat schema registry.
  • Pantau event lag Anda.

Pengaturan ini memungkinkan Anda untuk melakukan scaling dan audit pada data Anda. Anda menyimpan riwayat lengkap dari setiap perubahan.

Sumber: https://dev.to/therizwansaleem/designing-a-durable-event-sourced-analytics-platform-for-real-time-dashboards-58fd