Perduokite transakcijas srautu per Kafka į stream procesorių, kuris iš anksto agreguoja į OLAP saugyklą, kad ataskaitų skydeliai skaitytų mažyčius iš anksto apskaičiuotus rollups, o ne skenuotų neapdorotus įvykius. Esant milijonams transakcijų/dieną niekada nevykdote SUM() per neapdorotą lentelę kiekvieno puslapio įkėlimo metu — agreguojate vieną kartą, įrašant.
Architektūra
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)
