Design a Feature to Show the Number of Users Viewing a Page — System Design Interview Practice
Design a system to track and display the number of concurrent users viewing a page in real-time. Work through the requirements, architecture trade-offs, and an interactive design review.
Requirements and concepts to consider
- Count active users on a pageRequirement
- Update count in real-timeRequirement
- Handle users joining and leavingRequirement
- Support millions of concurrent pagesRequirement
- Approximate counting acceptableRequirement
- Low latency for count updatesRequirement
- Handle connection drops gracefullyRequirement
- real timeConcept to explore
- countingConcept to explore
- websocketsConcept to explore
- presenceConcept to explore
- redisConcept to explore