Design Notifications for One Million Internal Producer Services
Qualified HealthSoftware Engineer · Online AssessmentLast updated
Design notification ingestion and delivery for a million internal producers, separating service-count scale from throughput, bursts, and fanout.
Design a notification system that can accept notifications from one million internal services.
Requirements and Constraints
The supplied scale is the number of producing services, not a message-per-second rate. Clarify message volume, bursts, destinations, delivery semantics, and latency requirements before sizing the data path. No delivery channel, recipient count, or external provider is mandated.
Explain how a large population of services integrates with the system, how notifications are accepted and routed, and how overload or delivery failure is handled.
Clarifying Questions
- Are all one million services active concurrently, and what is the distribution of notification rates across them?
- Are notifications delivered to people, other services, or both, and through which channels?
- Which notifications may be delayed, duplicated, expired, or dropped?
- What isolation, quotas, ordering, and access policies are required between producers?
Hints
Hint 1
Separate producer count from traffic volume: A million registered services can produce a small average load or an extreme burst. The integration and identity problem is large even before the actual message rate is known.
Follow-up questions
- How would you handle a coordinated burst from many services during an infrastructure incident?
- Why might creating a separate queue or persistent connection for every producer be expensive?
- What should a producer infer from an accepted response if the final delivery is asynchronous?
Solution walkthrough is for members
Get the full walkthrough with reference code and complexity analysis, plus Kitty Coach at 300 messages a day. Hints, the code runner and community answers stay free.