advancedTop 15 System Design Questions
Design a real-time chat application (WhatsApp/Slack).
Messages: Cassandra partitioned by (channelId, bucket); clustered by timestamp Online presence: Redis SETEX presence:{userId} 30; client refreshes every 20s Message delivery: Redis Pub/Sub for real-time; WebSocket connection per user Unread count: Redis HINCRBY unread:{userId} {channelId} 1 Recent messages cache: Redis List (LPUSH; LTRIM 0 49) for fast initial load Search: Elasticsearch on message
This is a Pro chapter
Sign in, then upgrade to Pro or Power to unlock this and the full Databases Mastery library.
Design a real-time chat application (WhatsApp/Slack).