This question evaluates expertise in designing scalable, real-time data ingestion and fan-out notification systems, covering competencies such as stream processing, pub/sub architectures, subscription management, backpressure handling, rate limiting, deduplication, ordering, and reliable delivery.
Design a system that notifies users when market prices change for the symbols they track.
Context and requirements:
Design goals to address:
Provide a high-level architecture, key components, data model, and the main flows for (a) ingesting price updates and (b) notifying users.