scrapy分散原則

Scrapy単一のアーキテクチャ

このマシンでは、クロールキューを維持し、スケジューラは、スケジューリングを行います。
ここに画像を挿入説明
コラボレーションがあるキー複数のホストは何ですか?キューをクロール共有。
ここに画像を挿入説明

分散型アーキテクチャの爬虫類

ここに画像を挿入説明
ここに画像を挿入説明

キュー何メンテナンス?

Redisの、非リレーショナルデータベース、ストレージのキーと値の形、柔軟な構造。

データ構造は、システムメモリ、処理速度、および良好な性能に格納されています。

メンテナンスキューを容易にするために、より多くのストレージキュー構造、コレクションなどを、提供します。

どのように重いが来ますか?

データ構造、リクエストRedisのセット内の各指紋のセットを提供するのRedis。
リクエストへの要求に入社する前のキューは最初のリクエストは、指紋のコレクションに参加したことを確認します。

存在する場合は、キューが要求に追加されていない、とされていない場合は、キューとコレクションに指紋リクエストに追加します。

中断を防ぐためにどのように?

場合は、各スレーブScrapyスタートはまず、現在のRedisのリクエストキューが空であるかを決定します。
空でない場合は、次のキューがクロールリクエストの実行から取得しました。
空、クロールされ、第1の加算ユニットが実行クロール向き要求キューを再開した場合。

このフレームワークの実装?

Scrapy-Redisのライブラリの実装アーキテクチャは、アセンブリScrapyスケジューラ、キューを書き換え、前述。これは、簡単にScrapy分散アーキテクチャを使用して達成することができます。

https://github.com/rolando/scrapy-redis

公開された291元の記事 ウォンの賞賛104 ビュー410 000 +

おすすめ

転載: blog.csdn.net/Enjolras_fuu/article/details/104288001