Dayanıklı Gerçek Zamanlı Analitik Tasarlamak

Güncel verilere sahip dashboard'lara ihtiyacınız var. İşletmeniz büyüdükçe bu verilerin doğruluğunu koruması gerekir. Event sourcing bunu çözer.

Akış:

  • Üreticiler (Producers): Servisler alan olaylarını (domain events) gönderir.
  • Olay Veriyolu (Event Bus): Kafka veya Kinesis, olayları bir günlükte (log) saklar.
  • İşleyiciler (Processors): Günlüğü okurlar ve okuma modellerini (read models) güncellerler.
  • Okuma Modelleri (Read Models): Postgres veya Redis nihai metrikleri saklar.
  • Sorgu API'si (Query API): Dashboard'unuz verileri buradan çeker.

Tasarımınız için temel kurallar:

  • Olayları değiştirilemez (immutable) yapın. Bir olayı asla güncellemeyin.
  • Idempotency anahtarları kullanın. Bu, mükerrer veriyi engeller.
  • Şemalarınızı versiyonlayın. Bu, sistemin bozulmasını önler.
  • Deterministik projeksiyonlar (deterministic projections) kullanın. Bu, verilerin tutarlı kalmasını sağlar.

Nasıl inşa edilir:

  • Temel olaylarınızı belirleyin.
  • Depolama araçlarınızı seçin.
  • Metrikler için ilk projeksiyonları oluşturun.
  • Tekilleştirme (deduplication) uygulayın.
  • Bir şema kayıt defteri (schema registry) oluşturun.
  • Olay gecikmesini (event lag) izleyin.

Bu kurulum, verilerinizi ölçeklendirmenize ve denetlemenize olanak tanır. Her değişikliğin tam geçmişini tutarsınız.

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