Non scrivere ogni voto direttamente in una riga di database: bufferizza le scritture, fai sharding dei contatori e accetta un conteggio eventuale. 5M di voti in 10 minuti sono ~8.300 voti/sec in media, con picchi molto più alti (un momento TV in diretta può decuplicarli). Il trucco è trasformare un aggiornamento su una singola riga calda in molti incrementi indipendenti e paralleli.
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
