1. はじめにスレッドとプロセスの間では、プロセスの方が安定しており、複数のマシンに分散できるため、プロセスの方が優先されます。一方、スレッドは、最大で同じマシン上の複数の CPU にしか分散できません。 Python の multiprocessing モジュールは複数のプロセスをサポートするだけでなく、そのマネージャー サブモジュールは複数のプロセスを複数のマシンに分散することもサポートします。サービス プロセスをスケジューラとして記述し、タスクを複数の他のプロセスに分散し、ネットワーク通信を通じて管理することができます。 2. 事例分析クローラー プログラムを実行すると、Web サイトのすべての画像がキャプチャされます。複数のプロセスが使用される場合、通常、1 つのプロセスが画像のリンク アドレスをキャプチャしてキューにリンク アドレスを配置する役割を担い、別のプロセスがキューからリンク アドレスを取得してダウンロードし、ローカルに保存する役割を担います。 分散プロセスでそれを実装するにはどうすればよいでしょうか?一方のマシン上のプロセスはリンク アドレスを取得する役割を担い、もう一方のマシン上のプロセスはそれを保存する役割を担います。主な問題は、他のマシン プロセスがアクセスできるようにキューをネットワークに公開することです。分散プロセスはこのプロセスをカプセル化します。これは、ローカル キューのネットワーク化と呼ぶことができます。 例: 1.py
サーバーに接続し、ポートと認証パスワードがサーバー プロセスのものとまったく同じであることを確認します。ネットワークからキューを取得し、ローカライズし、タスク キューからタスクを取得して、結果を結果キューに書き込みます。 2.py
タスク プロセスはネットワーク経由でサービス プロセスに接続する必要があるため、サービス プロセスの IP を指定する必要があります。 結果は次のとおりです。画像のアドレスを取得し、2.py に渡します。 1.py で渡されたアドレスを受け取り、画像をダウンロードすると、コンソールにクロール結果が表示されます。 結論この記事は Python に基づいています。 Python の分散プロセス インターフェースはシンプルで適切にカプセル化されており、負荷の高いタスクを複数のマシンに分散する必要がある環境に適しています。キューの役割はタスクを転送し、結果を受け取ることであると説明します。 皆さんも積極的に挑戦してみてください。他の人がやっているのを見ると簡単に実装できることもありますが、自分で実装しようとすると、さまざまな問題が必ず発生します。あまり野心的になりすぎず、熱心に取り組んで、より深く理解できるようにしてください。 |
<<: Daoentropy 分散ストレージが PACS ストレージとしてより適している理由は何ですか?
10月16日、中国情報通信研究院が主催し、クラウドコンピューティング標準およびオープンソース推進委員...
淘宝網が美麗碼と莫谷街へのログイン機能を廃止した後、この2つのソーシャル電子商取引プラットフォームは...
みなさんこんにちは。私はMuzi Chengzhouです。ウェブサイトの SEO 作業に関して言えば...
情報がクラウドにさらに流入するにつれて、境界セキュリティの役割は変化し、ネットワーク セキュリティの...
Qunar.comのCEOである荘晨超氏は、2013年の財務報告書を発表した後、メディアのインタビュ...
Raksmartは、米国サンノゼに本社を置く歴史ある企業です。コンピュータルーム、設備、ネットワーク...
4年後、lfchostingはついにトレンドに従い、新しいSSDハードドライブVPSを導入し、いくつ...
Crissic の VPS は G ポートをベースとしており、月間トラフィックを使い切ると自動的に ...
ウェブマスターの友人は皆、SEO 最適化について知っているかもしれませんが、ウェブページの信号対雑音...
映画ウェブサイトは簡単にお金を稼ぎ、構築できるため、多くのウェブマスターが映画ウェブサイトを開設する...
VMware は仮想化管理者に vSphere の別のバージョンである vSphere 6.7 を提...
この号では、POD で実行中のコンテナの構成情報をすばやく表示できる実用的な Kubectl プラグ...
論理は、古典ギリシャ語の λόγος (logos) に由来し、もともと「言葉」または「スピーチ」を...
[[360669]]この記事はWeChatの公開アカウント「笑い好きの建築家」から転載したもので、著...
空腹は人間の本能です。多くの場合、このような状況では、人々はおいしさに惹かれ、他の要素を無視する傾向...