DX本部 システム開発第一事業部でバックエンドエンジニアとして活躍する社員が、AWSのAmazon SQSを活用した大規模クローリングにおけるキュー詰まりの解消方法について解説した記事を執筆しました。
約1,500サイト・1日数百万ページを対象としたクローリング環境で発生したキュー詰まりの課題をもとに、キューの分離や同時実行制御、可視性タイムアウト、遅延キューなどを組み合わせた流量制御の手法を、アーキテクチャやサンプルコードを交えながら分かりやすく紹介しています。
Amazon SQSを利用した大規模システムの設計や、クローラーのパフォーマンス改善に取り組んでいる方は、ぜひご覧ください。
大規模クローリングにおけるSQSキュー詰まりの解消法
システム開発第一事業部の大泉です。普段はエンジニアとしてPythonでバックエンドの開発を行っています。
AWSのSQSを使用して1500程度のサイトを対象に1日数百万ページを処理するクローラーを構築しました。開発初期、ページ数の多いサイトのURLでキューが埋め尽くされ、他のサイトのクローリングがほとんど行われない問題が発生しました。
本記事ではこのようなキュー詰まりを解消し、すべてのサイトを平準化してクローリングする方法をご紹介します。 ... » 続きを見る
