1. はじめにスレッドとプロセスの間では、プロセスの方が安定しており、複数のマシンに分散できるため、プロセスの方が優先されます。一方、スレッドは、最大で同じマシン上の複数の CPU にしか分散できません。 Python の multiprocessing モジュールは複数のプロセスをサポートするだけでなく、そのマネージャー サブモジュールは複数のプロセスを複数のマシンに分散することもサポートします。サービス プロセスをスケジューラとして記述し、タスクを複数の他のプロセスに分散し、ネットワーク通信を通じて管理することができます。 2. 事例分析クローラー プログラムを実行すると、Web サイトのすべての画像がキャプチャされます。複数のプロセスが使用される場合、通常、1 つのプロセスが画像のリンク アドレスをキャプチャしてキューにリンク アドレスを配置する役割を担い、別のプロセスがキューからリンク アドレスを取得してダウンロードし、ローカルに保存する役割を担います。 分散プロセスでそれを実装するにはどうすればよいでしょうか?一方のマシン上のプロセスはリンク アドレスを取得する役割を担い、もう一方のマシン上のプロセスはそれを保存する役割を担います。主な問題は、他のマシン プロセスがアクセスできるようにキューをネットワークに公開することです。分散プロセスはこのプロセスをカプセル化します。これは、ローカル キューのネットワーク化と呼ぶことができます。 例: 1.py
サーバーに接続し、ポートと認証パスワードがサーバー プロセスのものとまったく同じであることを確認します。ネットワークからキューを取得し、ローカライズし、タスク キューからタスクを取得して、結果を結果キューに書き込みます。 2.py
タスク プロセスはネットワーク経由でサービス プロセスに接続する必要があるため、サービス プロセスの IP を指定する必要があります。 結果は次のとおりです。画像のアドレスを取得し、2.py に渡します。 1.py で渡されたアドレスを受け取り、画像をダウンロードすると、コンソールにクロール結果が表示されます。 結論この記事は Python に基づいています。 Python の分散プロセス インターフェースはシンプルで適切にカプセル化されており、負荷の高いタスクを複数のマシンに分散する必要がある環境に適しています。キューの役割はタスクを転送し、結果を受け取ることであると説明します。 皆さんも積極的に挑戦してみてください。他の人がやっているのを見ると簡単に実装できることもありますが、自分で実装しようとすると、さまざまな問題が必ず発生します。あまり野心的になりすぎず、熱心に取り組んで、より深く理解できるようにしてください。 |
<<: Daoentropy 分散ストレージが PACS ストレージとしてより適している理由は何ですか?
Standard Interconnect は、ロサンゼルス データ センターの「LAX-A Clo...
親愛なるみんな、ホスティング業界で一年で最も待ち望まれている日がやってきました。海外のホスティングベ...
Quadcone 傘下の Cloudcone ブランドはごく最近設立されましたが、低価格、高度な構成...
「携帯電話」という言葉は、食べること、飲むこと、遊ぶことと同じように、人々の生活に欠かせない要素とな...
米国のホスティング業界の新参者である hiformance.com は現在、ダラス、オグデン (ユタ...
locvpsも中国ではお馴染みのブランドです。基本的にはMine General Teamが運営して...
中小規模のウェブマスターと一部の成熟した IT 実践者の違いは何かと言えば、それは「ユーザー エクス...
SEOキーワードランキングとユーザーエクスペリエンスのどちらが重要でしょうか?この記事はウェブサイト...
私は長年 SEO に取り組んでおり、さまざまな規模の SEO フォーラムやウェブマスター フォーラム...
ウェブサイトがBaiduスパイダーの支持を得られるかどうかは、ウェブサイトのコンテンツの質の高さだけ...
Hawkhostの毎年恒例のブラックフライデープロモーションが予定通り到来しました。これはHawkh...
AWS IoT Device Defender は、IoT デバイスのセキュリティ保護に役立つフルマ...
1. 最適化ガイダンス私たちは、留学生のニーズとウェブサイトのユーザーエクスペリエンスを指針として、...
Google が新たに発表した 2021 Accelerate State of DevOps レポ...
テンセントテクノロジーの雷建平は11月22日に報告した。新浪微博が世論の渦に巻き込まれた。新浪微博は...