No escribas cada voto directamente a una fila de base de datos — bufferiza las escrituras, fragmenta los contadores y acepta un recuento eventual. 5M de votos en 10 minutos son ~8.300 votos/seg de media, con picos mucho más altos (un momento de TV en vivo puede multiplicarlo por 10). El truco es convertir una actualización caliente de una única fila en muchos incrementos independientes y paralelos.
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
