עיצוב אנליטיקה עמידה בזמן אמת

אתם זקוקים לדאשבורדים עם נתונים טריים. אתם צריכים שהם יישארו מדויקים ככל שהמערכת צומחת. Event sourcing פותר זאת.

התהליך:

  • Producers: שירותים שולחים domain events.
  • Event Bus: Kafka או Kinesis שומרים אירועים בתוך log.
  • Processors: הם קוראים את ה-log ומעדכנים read models.
  • Read Models: Postgres או Redis שומרים את ה-metrics הסופיים.
  • Query API: הדאשבורד שלכם שואב נתונים מכאן.

כללים מרכזיים לעיצוב:

  • הפכו את האירועים ל-immutable. לעולם אל תעדכנו אירוע.
  • השתמשו ב-idempotency keys. זה מונע כפילות נתונים.
  • בצעו versioning ל-schemas שלכם. זה מונע שבירות.
  • השתמשו ב-deterministic projections. זה שומר על עקביות הנתונים.

איך בונים את זה:

  • זהו את אירועי הליבה שלכם.
  • בחרו את כלי האחסון שלכם.
  • בנו projections ראשוניים עבור המדדים.
  • הטמיעו deduplication.
  • צרו schema registry.
  • נהלו ניטור ל-event lag שלכם.

המבנה הזה מאפשר לכם לבצע scale ולבצע audit לנתונים שלכם. אתם שומרים היסטוריה מלאה של כל שינוי.

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