N'écrivez pas chaque vote directement dans une ligne de base de données — bufferisez les écritures, shardez les compteurs, et acceptez un décompte éventuel (eventual tally). 5M de votes en 10 minutes, c'est ~8 300 votes/sec en moyenne, avec des pics bien plus élevés (un moment TV en direct peut multiplier cela par 10). L'astuce est de transformer une mise à jour chaude sur une seule ligne en de nombreux incréments indépendants et parallèles.
Client ─▶ Edge/API ─▶ Kafka (vote events) ─▶ Consumers ─┬─▶ Dedup store (SET one-vote)
(durable buffer) └─▶ Sharded counters (INCR N shards)
│
Redis/Aggregator ◀── periodic sum of shards ──────────────────────┘
│
└─▶ Read replica / CDN cache ─▶ Live tally to clients
