mixi Engineers’ Blog にこんなエントリーがありました。
12月12日よりmixiのRSSのCrawlerが改善され、外部ブログの反映が今までと比べ格段にはやくなっているのに気付かれた方も多いかと思います。この改善されたRSS Crawlerの裏側について書きたいと思います
ほほーう、そうだったんだ。
ってかこれmixi上でアナウンスあったっけ?(バックエンドの改修はお知らせなしか?)
改修のポイントとして以下の点があげられています。
新しいCrawlerを構築するにあたって、
* 監視可能であること
* 管理・運用できること
* スケールすることという念頭に具体的には
* 処理の分散を行う
* 処理途中でのスクリプトのデプロイを可能にする
* 長時間動作し続けるプログラムでDBへの接続はしない
* モダンなRSS解析エンジンを利用するといったことも設計に含めました。
処理を分散する事で、以前は4時間ほどかかっていた全RSSの読み込みを、2時間でこなせるようになったようで、時間半減ですか。スバラシイですね。
気になる「RSS解析エンジンの変更」の効果
パフォーマンスの面と、スケーリングの面の他に個人的には「モダンなRSS解析エンジンを利用する」という項目は結構気になっています。
前に、ココログにお引っ越しした親バカブログのRSSが、mixiの外部ブログ設定をしても読み込まれないという問題がありました。ココログのベーシックタイプの場合、RSSテンプレートの変更もできないため、FeedBurnerに一旦RSSを食わせてから、mixiに読ませるとうまくいくという無駄な Tip’s を発見したりもしましたが(あ、これちゃんとエントリー書いてなかったな)、これ改善されたのかなぁ。
あと、変更前の解析エンジンってなんだったんだろ。
同日の重複表示OKになってますよね?
あと、いままでは同じ日付で複数のエントリーがあった場合、最新のエントリーだけしか表示されない「まとめ処理」がされていたような気がするんだけど、今は全エントリーが表示されますよね?これも、この改修の影響?
そんでもって、これもアナウンスなかったよね?多分。
外部ブログに限らずmixi日記も同じロジックのようだけど、すごい数の日記を更新するマイミクがいると、その人のエントリーで最新表示うまっちゃうからどうなのかなぁと思ったり。
まとめ・・・について
まとめとして書かれていましたが、
今後は巡回の速度をこれ以上あげるのではなく、pingサーバ等を用意が必要だと思っています。
そうでしょうね。
巡回サーバの分散でクロールのタイミングを短くする事もできるでしょうが、トラバ送ってもらう方が効率的だと思います。まあ、重複Pingとか、SPAMとか色々別の問題もあって難しいでしょうけど、頑張ってほしいですねぇ。