עיצוב אנליטיקה עמידה בזמן אמת
אתם זקוקים לדאשבורדים עם נתונים טריים. אתם צריכים שהם יישארו מדויקים ככל שהמערכת צומחת. 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 לנתונים שלכם. אתם שומרים היסטוריה מלאה של כל שינוי.