ہر vote کو براہِ راست database row میں نہ لکھیں — writes کو buffer کریں، counters کو shard کریں، اور eventual tally قبول کریں۔ 10 منٹ میں 50 لاکھ votes اوسطاً تقریباً 8,300 votes/sec ہیں، جن میں spikes کہیں زیادہ ہوتے ہیں (ایک live TV لمحہ اسے 10 گنا کر سکتا ہے)۔ کمال یہ ہے کہ ایک hot single-row update کو کئی آزاد، متوازی 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
