検索
ホームページPHPフレームワークSwooleワーカーマンとスウールの違いは何ですか

違い: 1. swoole は C 言語で実装されたソケット通信フレームワークですが、workerman は純粋な PHP で実装されたソケット フレームワークです; 2. workman では、ソケットはワーカー プロセスによって処理されるのに対し、swoole はワーカー プロセスによって処理されますメインプロセスによって実行され、その中のリアクタースレッドが責任を負います。

ワーカーマンとスウールの違いは何ですか

このチュートリアルの動作環境: Windows10 システム、Swoole4 バージョン、DELL G3 コンピューター

workman と swoole の違いは何ですか

Workerman と swoole は、この段階では非常に物議を醸しています。時間があるときにお互いを知る必要があります。そうしないと、PHP サークルには参加できません。 Swoole は C 言語で実装されたソケット通信フレームワークであるのに対し、Workerman は純粋な PHP で実装されたソケット通信フレームワークであり、プロセス モデルにも多くの違いがあります。

マスター プロセス

このプロセスはより複雑であり、私の意見ではコア プロセスでもあります。これは、1 つのメイン スレッドを含む複数のスレッドを含むプロセスです。 n 個のリアクター スレッド (数は構成可能)。

その中で、メインスレッドは新しい接続を受け入れるために使用され、各リアクタースレッドが維持を担当する接続の数を評価し、それらを最小数のリアクタースレッドに割り当てて、リアクタースレッドの負荷を最大化します。各リアクタースレッドのバランスが取れています。

本質的に、ソケットが読み取り可能または書き込み可能になると、ソケットはリアクター スレッドによってワーカー プロセスまたはクライアントに送信されます。さらに、メイン スレッドは、リアクター スレッドがシグナルを受信したときに中断を避けるために、すべてのシグナルを引き継ぐ責任もあります。

より西洋風に言うと、マスター プロセスは、接続の受け入れとホスティング、およびソケットの読み取り可能性と書き込み可能性 (データの送信と受信) を担当します。本質的に、マスター プロセスは次のとおりです。 IOを担当します。リアクター スレッドは完全に非同期でノンブロッキングの作業メソッドであることにも注意してください。

マネージャー プロセス

マネージャー プロセスは、ワーカー プロセスとタスクワーカー プロセスのマザーです。よりおしゃれな言い方で言えば、マネージャー プロセスはワーカーをフォークします。プロセスとタスクワーカー プロセスは管理されなければならないため、マネージャー プロセスは、ワーカー プロセスとタスクワーカー プロセスのステータスの監視、予期せずハングアップした場合の新しいプロセスの再起動など、ワーカー プロセスとタスクワーカー プロセスのメンテナンス義務を負う必要があります (ゾンビ プロセスを回避し、スムーズに再起動します (これは伝説的なリロードです)。

ワーカー プロセス

ワーカー プロセスはマネージャー プロセスによってフォークされており、率直に言えば、このプロセスは作業を行っているだけです (公式で何度も言及されているビジネス コード)実際、通常コーディングされるのはカード ビジネス ロジック コードです。理解できますか?しかし、ワーカー プロセスのさらに興味深い点は、このプロセスが非同期または同期で動作できることです。意味が分からない場合は、まず覚えて慣れてから話しましょう。

タスクワーカー プロセス

タスクワーカー プロセス (以下、タスクワーカー プロセスと呼びます) は、本質的にはワーカー プロセスですが、特殊なワーカー プロセスです。ワーカー プロセスに時間と労力を要する操作がある場合は、まずそれをタスク作成者プロセスにスローし、他の作業を自分で行うことができます。タスク作成者が終了すると、ワーカー プロセスがそれらの操作を取得します。これは非常に便利です。ただし、タスク実行プロセスは同期モードでのみ動作し、非同期モードは使用できません。これが、タスク実行プロセスがタイマーを使用できないのに、ワーカー プロセスがタイマーを使用できる理由です。

これらのプロセスがどのように連携するかについての簡単な概要。率直に言うと、マスター プロセスは営業ジョブを受け取る責任がありますが、特定の作業はワーカー プロセスが実行します。ワーカー プロセスが一部のプロセスが多すぎて複雑すぎると感じた場合は、タスク実行プロセスにその作業を任せることができます。マネージャープロセスは、物流従事者プロセスとテイカープロセスの人事サポート部門であり、彼らの生と死、飲食と睡眠に責任を負います。

workerman

workerman のプロセス モデルは比較的単純です。まず、swoole と比較して、workerman には swoole にリアクター スレッドがありません。次に、workerman は通常のビジネスを処理するために使用されるワーカー プロセスとタスカー プロセス。 workman の場合、ソケットはワーカー プロセスによって処理されますが、swoole ではメイン プロセスのリアクター スレッドによって処理されます。データを受信した後、swoole は独自のワーカー プロセス (fpm プロセスに似ています) を通じてビジネスを処理できます。

workerman は、高性能 PHP ソケット サーバー フレームワークです。Workerman は、PHP マルチプロセスおよび libevent イベント ポーリング ライブラリに基づいています。PHP 開発者は、次のような 1 つまたは 2 つのインターフェイスを実装している限り、独自のネットワーク アプリケーションを開発できます。 Rpc サービス、チャット ルーム サーバー、モバイル ゲーム サーバーなどとして。

Workerman の目標は、PHP 開発者が PHP ソケットや PHP マルチプロセスの詳細を理解していなくても、高性能のソケットベースのアプリケーション サービスを簡単に開発できるようにすることです。 Workerman 自体は、PHP プロセス管理モジュールとソケット通信モジュールを備えた PHP マルチプロセス サーバー フレームワークであるため、php-fpm、nginx、apache などのコンテナに依存せずに独立して実行できます。 swoole チュートリアル

以上がワーカーマンとスウールの違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)