Streame die Transaktionen durch Kafka in einen Stream-Prozessor, der in einen OLAP-Store vor-aggregiert, sodass Dashboards winzige vorberechnete Rollups lesen statt Roh-Events zu scannen. Bei Millionen Txns/Tag führst du niemals bei jedem Seitenaufruf ein SUM() über die Roh-Tabelle aus - du aggregierst einmal, beim Write.
Architektur
Payment svc ──▶ Kafka topic ──▶ Flink/Kafka Streams ──┬─▶ OLAP (ClickHouse/Druid) ◀── Dashboard
(txn events) (buffer,replay) (windowed pre-agg) │ (per-minute rollups) (read)
└─▶ S3/Parquet (raw, replay/audit)
state store ◀──────────┘ (exactly-once checkpoints)
