Scrapy単一のアーキテクチャ
このマシンでは、クロールキューを維持し、スケジューラは、スケジューリングを行います。
コラボレーションがあるキー複数のホストは何ですか?キューをクロール共有。
分散型アーキテクチャの爬虫類
キュー何メンテナンス?
Redisの、非リレーショナルデータベース、ストレージのキーと値の形、柔軟な構造。
データ構造は、システムメモリ、処理速度、および良好な性能に格納されています。
メンテナンスキューを容易にするために、より多くのストレージキュー構造、コレクションなどを、提供します。
どのように重いが来ますか?
データ構造、リクエストRedisのセット内の各指紋のセットを提供するのRedis。
リクエストへの要求に入社する前のキューは最初のリクエストは、指紋のコレクションに参加したことを確認します。
存在する場合は、キューが要求に追加されていない、とされていない場合は、キューとコレクションに指紋リクエストに追加します。
中断を防ぐためにどのように?
場合は、各スレーブScrapyスタートはまず、現在のRedisのリクエストキューが空であるかを決定します。
空でない場合は、次のキューがクロールリクエストの実行から取得しました。
空、クロールされ、第1の加算ユニットが実行クロール向き要求キューを再開した場合。
このフレームワークの実装?
Scrapy-Redisのライブラリの実装アーキテクチャは、アセンブリScrapyスケジューラ、キューを書き換え、前述。これは、簡単にScrapy分散アーキテクチャを使用して達成することができます。
https://github.com/rolando/scrapy-redis