Life, Education, Death

プログラミング以外でも思ったことをつらつらと書きたい

透過的な自己申告型エラー訂正のパターンがいいんじゃないかと思った

GAE上で動くものをSlim3で実装しながら、考えていたことをまとめてみた。まだ熟考されてない・・・


簡単に図を書いておいて、後で思い出せるといいな


キャッシュはしておきたいけど、データが違っているときに面倒だ

Webサービスの場合レスポンスが大事だ。特にGAE上で作っている場合は30秒ルールもあるので、Twitter連動などで他のサーバーにアクセスするとすごく時間がかかってしまう。0.1秒でも早くしたい。


例えば、Twitterのリストを出したいとする。適当にユーザー名やアイコンが並ぶ画面になるはず。そのユーザー名はキャッシュしておけば、早く表示できる。
しかしながら、ユーザー名が変更されていることも考えられるのでどこかでキャッシュを更新する必要がある。


一番簡単な戦略として考えつくのは、cronを走らせて時々確認をすればいい。そうすると
常に最新ではないが適当なタイミングで更新されるので、ユーザーから見ても特に不満はないはず。

ここで少し思ったのは、確認の際に結構なトラフィックが発生するのでサービス側の負荷が高い。もう少し楽を出来ないだろうか。

次の戦略

ユーザーに間違えを教えてもらえばいいと考えた。


もちろん、”間違えてるよー”ボタンを設置するのは無理だ。
最近は通信速度が早いので、JSなどでクライアント側からデータが間違っていないか確認するタスクをたまに走らせるようにすれば、サービス側の負荷が少なくすむ。


携帯機のようにこの戦略だとキツいのもあるのでこれだけでデータの訂正が済むとはまだ考えにくいが、悪くない方法かなぁと現時点では考えている。
裏で通信してて、ぱっと見遅くなっていなければ、文句は言われないはず。