Design: Real-Time Messaging System
Design focuses on real-time message delivery architecture and core messaging features. Out of scope: advanced encryption, multimedia message processing, and offline message push notifications.
Functional Requirements
FR1: Deliver messages instantly between users
FR2: Support 100,000 concurrent users
FR3: Ensure message order is preserved
FR4: Provide message delivery acknowledgments
FR5: Handle user presence status (online/offline)
FR6: Allow message history retrieval
Non-Functional Requirements
NFR1: Latency for message delivery must be under 200ms (p99)
NFR2: System availability must be 99.9%
NFR3: Support mobile and web clients
NFR4: Scale to handle peak loads without message loss
