
noteのスキ通知と表示が合わない仕組みを整理した
通知に「42人がスキ」と出ているのに、記事の表示は「34」。最初に見たときは単純に混乱した。


でもこのズレは珍しい話ではない。
ある程度は前提として起きるものだ。
スキを押した瞬間の処理と、ページに表示する処理は非同期で走っている。別システムが別タイミングで動いているから、数字が揃わないことのほうが自然とも言える。
通知の数字はかなり早く出る。スキが付いたタイミングでまとめて反映される仕組みで、いわば速報に近い動きをする。その時点では記事側の数字はまだ追いついていないから、通知のほうが多く見える。
記事ページのスキ数は事情が違う。負荷対策もあって即時更新されない。古い数字が一時的に残る、いわゆるキャッシュの状態だ。この更新タイミングはnote側でコントロールされていて、数分から数十分単位で処理が走る。差がきれいに消えるとは限らないのはそのためだ。
XやInstagramでも同様の設計になっている。Xのいいね数は「表示用カウンタ」と「実際の集計」が乖離する問題として以前から報告されてきた。毎回その場で計算すると負荷が跳ね上がるため、計算済みの数字を一時的に見せる。どのSNSでも多少のズレは避けられない構造だ。