Overview
Design a leaderboard for a large online game that shows the global top 100, a player's own rank, and the players just above and below them.
Requirements
- 01Recalculate rank the moment a score changes, for 10M+ active users
- 02Return the top 100 and a player's nearest rivals in under 20ms
- 03Take 50,000 score submissions a second during tournaments
- 04Reset the board daily, weekly, or per season, and archive each past board
- 05Survive node restarts
Concepts in play
Redis Sorted SetsZSETGamingLeaderboardSharding