advanced
Design a High-Throughput Distributed Event Sourcing System
Architect a comprehensive event sourcing system capable of handling millions of transactions per second with strong consistency guarantees.
📝 Prompt Inhoud
Act as a Principal Software Architect. Design a distributed event sourcing system for a global fintech platform that processes high-frequency trading transactions. Your design must address the following requirements: 1) Strong data consistency across geographically distributed regions, 2) Optimistic concurrency control to handle race conditions, 3) Snapshotting strategies to optimize read performance for long-lived aggregates, 4) A mechanism for handling schema evolution of events over time, and 5) A disaster recovery plan that ensures zero data loss. Provide a detailed architectural diagram description, technology stack recommendations (including specific database and message broker choices), and a justification for your trade-offs regarding latency versus consistency.