Cessez de canaliser tout le trafic vers une seule clé : découpez la clé chaude en N sous-clés (sharded counters), coalescez les lectures dupliquées, servez depuis un cache local, et batchez les écritures pour qu'une ligne ne soit pas mise à jour à chaque requête. Un seul compteur de « likes » sur un post viral peut prendre 50k écritures/sec — une ligne devient un goulot de sérialisation à mesure que chaque transaction se dispute le même verrou.
Fan-out au lieu d'une seule ligne en contention
50k inc/sec on post:123
│
hash(request) % N (split the key)
┌────────┬────────┬────────┬────────┐
▼ ▼ ▼ ▼ ▼
likes:123:0 :123:1 :123:2 :123:3 :123:4 ← sharded counters
└────────┴───┬────┴────────┴────────┘
▼
SUM on read = total (read fans in)
