Nustokite nukreipti visą srautą į vieną raktą: suskaidykite karštą raktą į N sub-raktų (suskaidyti skaitikliai), sujunkite dubliuotus skaitymus, aptarnaukite iš lokalaus kešo ir grupuokite įrašymus, kad viena eilutė nebūtų atnaujinama kiekvienai užklausai. Vienas „likes" skaitiklis virusiniame įraše gali priimti 50k įrašymų/s — viena eilutė tampa serializacijos kliūtimi, kai kiekviena transakcija kovoja dėl to paties užrakto.
Fan-out vietoj vienos apkrautos eilutės
50k inc/sec on post:123
│
hash(request) % N (split the key)
┌────────┬────────┬────────┬────────┐
▼ ▼ ▼ ▼ ▼
likes:123:0 :123:1 :123:2 :123:3 :123:4 ← sharded counters
└────────┴───┬────┴────────┴────────┘
▼
SUM on read = total (read fans in)
