Usa un sorted set (ZSET) de Redis indexado por score: el rank y el top-N se convierten en operaciones integradas O(log N), así que nunca ordenas millones de filas por request. Un ZSET mantiene a los miembros ordenados por score automáticamente; eso es exactamente lo que es un leaderboard.
Arquitectura
Game svc ──ZADD score──▶ Redis ZSET (sorted by score) ──ZREVRANGE 0 99──▶ Top-100 API
│
├─ ZREVRANK user ─▶ "your rank" (around-me: rank±5)
└─ AOF/RDB + async ─▶ Postgres (durable source of truth)
