Event-streaming ledger backbone
Your task
Design an event-streaming backbone that is the single source of truth for a bank's account-balance ledger: ~200k transaction events/sec, multiple downstream consumers (fraud, statements, analytics, a materialized balance store), and a regulatory requirement to replay any account's full history at any point. Cover the topic/partition design, how you let a brand-new consumer rebuild state from the beginning, how you evolve the event schema without breaking old consumers, and how you keep storage bounded.
It covers
- Log compaction
- Schema evolution
- Replay