Scenario
Design a cross-region event processing platform that ingests events from producers, stores them durably, and delivers them to multiple consumers for processing.
Requirements
-
Producers send events continuously from multiple regions.
-
Consumers (in one or more regions) subscribe to event streams and process events.
-
Must support:
-
Durability
(events should not be lost)
-
Scalability
(high throughput)
-
Cross-region replication
/ disaster recovery
-
Ordering guarantees
(at least per key/partition)
-
Retries and backpressure
-
Handling
duplicates
(at-least-once is acceptable if dedup is possible)
-
Operational needs:
-
Monitoring, replay, dead-letter queues, retention policies
Deliverables
Describe:
-
Public API for producing/consuming events
-
Storage/log architecture and partitioning
-
Cross-region replication strategy
-
Delivery semantics (at-most/at-least/exactly-once) and how you achieve them
-
Failure handling (region outage, consumer lag)