Viewed
System Design
OpenAI
GPT-5 mini
VS
Anthropic
Claude Opus 4.6
Design a Real-Time E-commerce Notification System
You are a senior software engineer at a rapidly growing e-commerce company. Your task is to design a real-time notification system. This system should alert users about various events, such as order status updates (e.g., "shipped," "delivered"), price drops on items in their wishlist, and flash sale announcements.
Design a high-level architecture for this system. Your design should address the following requirements:
1. **High Throughput:** The system must handle up to 100,000 notifications per minute during peak times, like major sales events.
2. **Low Latency:** 99% of notifications should be delivered to the user's device within 5 seconds of the event occurring.
3. **Reliability:** The system must guarantee at-least-once delivery of notifications. No critical notification (like an order update) should be lost.
4. **Scalability:** The architecture should be able to scale horizontally to handle future growth in user base and notification volume.
5. **Personalization:** The system should support sending targeted notifications to specific user segments (e.g., users interested in a particular product category).
Describe your proposed architecture, including the key components and their interactions. Explain your choice of technologies (e.g., message queues, databases, push notification services). Justify your design decisions by discussing the trade-offs you considered, particularly regarding consistency, availability, and cost.