1. はじめにスレッドとプロセスの間では、プロセスの方が安定しており、複数のマシンに分散できるため、プロセスの方が優先されます。一方、スレッドは、最大で同じマシン上の複数の CPU にしか分散できません。 Python の multiprocessing モジュールは複数のプロセスをサポートするだけでなく、そのマネージャー サブモジュールは複数のプロセスを複数のマシンに分散することもサポートします。サービス プロセスをスケジューラとして記述し、タスクを複数の他のプロセスに分散し、ネットワーク通信を通じて管理することができます。 2. 事例分析クローラー プログラムを実行すると、Web サイトのすべての画像がキャプチャされます。複数のプロセスが使用される場合、通常、1 つのプロセスが画像のリンク アドレスをキャプチャしてキューにリンク アドレスを配置する役割を担い、別のプロセスがキューからリンク アドレスを取得してダウンロードし、ローカルに保存する役割を担います。 分散プロセスでそれを実装するにはどうすればよいでしょうか?一方のマシン上のプロセスはリンク アドレスを取得する役割を担い、もう一方のマシン上のプロセスはそれを保存する役割を担います。主な問題は、他のマシン プロセスがアクセスできるようにキューをネットワークに公開することです。分散プロセスはこのプロセスをカプセル化します。これは、ローカル キューのネットワーク化と呼ぶことができます。 例: 1.py
サーバーに接続し、ポートと認証パスワードがサーバー プロセスのものとまったく同じであることを確認します。ネットワークからキューを取得し、ローカライズし、タスク キューからタスクを取得して、結果を結果キューに書き込みます。 2.py
タスク プロセスはネットワーク経由でサービス プロセスに接続する必要があるため、サービス プロセスの IP を指定する必要があります。 結果は次のとおりです。画像のアドレスを取得し、2.py に渡します。 1.py で渡されたアドレスを受け取り、画像をダウンロードすると、コンソールにクロール結果が表示されます。 結論この記事は Python に基づいています。 Python の分散プロセス インターフェースはシンプルで適切にカプセル化されており、負荷の高いタスクを複数のマシンに分散する必要がある環境に適しています。キューの役割はタスクを転送し、結果を受け取ることであると説明します。 皆さんも積極的に挑戦してみてください。他の人がやっているのを見ると簡単に実装できることもありますが、自分で実装しようとすると、さまざまな問題が必ず発生します。あまり野心的になりすぎず、熱心に取り組んで、より深く理解できるようにしてください。 |
<<: Daoentropy 分散ストレージが PACS ストレージとしてより適している理由は何ですか?
人工知能の急速な発展に伴い、モデルの精度と複雑性はますます高まり、企業のコンピューティングに対する需...
友人とリンクを交換するときに、誰もがよく気にする質問は、「そのサイトは最初のサイトですか?」です。で...
企業のウェブサイトをプロモーションする場合、クライアントのために行うため、評価結果はいくつかのキーワ...
2020年はようやく終わりましたが、私たちが息つく暇もなく、再び疫病が戻ってきました。難しすぎるよ!...
海外の VPS や仮想ホストを使用しているものの、直接支払いを行う手段がない人が常に存在しています。...
Discuz フォーラムを使用する友人は皆、Discuz フォーラムが検索エンジン最適化に非常に優れ...
dediserve.com がなぜ突然プロモーションを開始したのかはわかりません。サーバーが多すぎて...
インターフェースデザインにおけるコピーライティングの重要性は自明ですが、そのような重要な部分にまだ専...
中小企業にとっては、クリック課金型広告に毎月数万元を投資することはできないかもしれません。しかし、検...
これは中国で仮想通貨が直面した最も深刻な課題かもしれない。中国人民銀行と他の5つの省庁が12月5日に...
1年が経過しましたが、fliphostは依然として強力で生き残っており、買収後の見通しはより良くなる...
検索エンジン最適化 (SEO) は、検索エンジンの検索ルールを使用して、関連する検索エンジンでの現在...
みなさんこんにちは。最近はSEO技術について深く研究しておらず、主に些細なことをやっていますが、グル...
ginernet からの最新のプロモーション メール: スペインのデータ センターにある 10Gbp...
クラウド移行は、複雑な概念を簡潔に表した用語です。企業はデータとワークロードをクラウドに移行し続ける...