ਹਰ vote ਨੂੰ ਸਿੱਧਾ ਕਿਸੇ database row ਵਿੱਚ ਨਾ ਲਿਖੋ — writes ਨੂੰ buffer ਕਰੋ, counters ਨੂੰ shard ਕਰੋ, ਅਤੇ eventual tally ਸਵੀਕਾਰ ਕਰੋ। 10 ਮਿੰਟਾਂ ਵਿੱਚ 50 ਲੱਖ votes ਔਸਤਨ ~8,300 votes/sec ਹੈ, ਅਤੇ spikes ਬਹੁਤ ਜ਼ਿਆਦਾ (ਇੱਕ live TV ਪਲ ਇਸਨੂੰ 10x ਕਰ ਸਕਦਾ ਹੈ)। ਤਰਕੀਬ ਇਹ ਹੈ ਕਿ ਇੱਕ hot single-row update ਨੂੰ ਬਹੁਤ ਸਾਰੇ ਸੁਤੰਤਰ, parallel increments ਵਿੱਚ ਬਦਲ ਦਿੱਤਾ ਜਾਵੇ।
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
