よりタイムリーに情報をお届けできるようになりました
いつも Feedeen のご利用ありがとうございます。 年初に投稿した記事 にて、フィードリーダーとしての基本的なスペックの向上を目指すことを告知させていただきました。その成果の第一弾として、完全に書き直した新しいクローラ(フィードの更新情報を収集するプログラム)をリリースしましたので、その主な改善点をご紹介させていただきます。 クローラの抜本的な改善を実施しました Feedeen の従来のクローラでは、まず登録フィードをすべて巡回して更新データを集めて、それが完全に終わった後に各ユーザーへの配信処理を行うという順次的な方法を採用していました。この方法は、巡回時はフィード単位、配信時はユーザー単位と、それぞれに適した処理単位を採用できるために効率は良いのですが、すべてのフィードを巡回し終えるまでユーザーへの配信が始まらず、更新の反映が遅れる主な要因となっていました。 従来のクローラの処理概要 新しいクローラでは、アルゴリズムやデータ構造の工夫で配信処理もフィード単位に改め、ひとつのフィードの取得完了後すぐに配信処理を行うようにしました。これにより、フィードを取得してから表示反映までが数分程度と、遅延の大幅な改善に成功しました。 新しいクローラの処理概要 また、取得処理についてもドメインごとのきめ細かい帯域制御を行い、アクセス集中による取得エラーを大幅に抑えました。結果的に多くのフィードで更新頻度も改善され、後述するような頻度低下要因がなければ、20〜30分間隔で更新するようになっております。 はてなブックマークの優先クロールについて ドメイン単位の帯域制御によるもうひとつの成果として、実験的にはてなブックマーク人気エントリの更新頻度を2倍(10〜15分間隔)に設定しました。具体的には、以下の URL が高頻度で更新されます(クエリーパラメータの順番は問いません)。 http://b.hatena.ne.jp/hotentry.rss http://b.hatena.ne.jp/entrylist?sort=hot&mode=rss&threshold=3 http://b.hatena.ne.jp/entrylist?sort=hot&mo