Nerašykite kiekvieno balso tiesiai į duomenų bazės eilutę — buferizuokite įrašymus, suskaidykite skaitiklius ir priimkite eventual tally. 5 mln. balsų per 10 minučių yra ~8 300 balsų/s vidutiniškai, su gerokai aukštesniais smaigaliais (tiesioginės TV akimirkos gali padidinti tai 10 kartų). Gudrybė — paversti karštą vienos eilutės atnaujinimą daugybe nepriklausomų, lygiagrečių padidinimų.
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
