Workerman は、純粋に PHP で開発されたオープンソースの高性能 PHP ソケット サービス フレームワークです。
実際、Workerman は nginx の PHP バージョンに似ており、コアもマルチプロセス Epoll ノンブロッキング IO です。各 Workerman プロセスは数万の同時接続を維持できます。メモリ上に常駐するため、Apache、nginx、php-fpmなどのコンテナに依存せず、超高性能です。 (推奨学習: ワーカーマン チュートリアル )
TCP、UDP、UNIXSOCKET を同時にサポートし、長時間接続をサポートし、Websocket、HTTP、WSS、HTTPS およびその他の通信プロトコルをサポートし、さまざまなカスタマイズプロトコル。タイマー、非同期ソケット クライアント、非同期 Mysql、非同期 Redis、非同期 HTTP、非同期メッセージ キューなど、多くの高性能コンポーネントが含まれています。
1. 純粋な PHP 開発
WorkerMan を使用して開発されたアプリケーションは、php-fpm、apache、nginx などのコンテナーに依存せずに独立して実行できます。これにより、PHP 開発者はアプリケーションを開発、展開、デバッグするのが非常に便利になります。
2. PHP マルチプロセスのサポート
サーバーのマルチ CPU のパフォーマンスを最大限に活用するために、WorkerMan はマルチプロセスとマルチタスクをサポートします。デフォルトでは。 WorkerMan は、外部サービスを提供するためにメイン プロセスと複数のサブプロセスを起動します。メイン プロセスはサブプロセスの監視を担当します。サブプロセスは独立してネットワーク接続を監視し、データの受信、送信、処理を行います。シンプルなプロセス モデルにより、 WorkerMan はより安定しており、効率的です。
3. TCP と UDP のサポート
WorkerMan は、TCP と UDP の 2 つのトランスポート層プロトコルをサポートします。トランスポート層プロトコルを変更するには、1 つの属性のみを変更する必要があります。ビジネスコードが必要です。変更してください。
4. 長時間接続のサポート
多くの場合、PHP アプリケーションはチャット ルーム、ゲームなどのクライアントとの長時間接続を維持する必要がありますが、従来の PHP コンテナー ( apache、nginx、php-fpm) ではこれを行うのが困難です。
WorkerMan を使用すると、サーバー ビジネスが積極的にクローズ接続インターフェイスを呼び出さない限り、PHP のロング接続を使用できます。単一の WorkerMan プロセスは数万の同時接続をサポートでき、複数のプロセスは数十万、さらには数百万の同時接続をサポートできます。
5. さまざまなアプリケーション層プロトコルのサポート
WorkerMan インターフェイスは、カスタム プロトコルを含むさまざまなアプリケーション層プロトコルをサポートします。 WorkerMan でのプロトコルの変更も非常に簡単です。フィールドを設定するだけで、ビジネス コードを変更することなく、プロトコルが自動的に切り替わります。クライアントのさまざまなニーズを満たすために、異なるプロトコルで複数のポートを開くこともできます。
6. 高い同時実行性のサポート
WorkerMan は、Libevent イベント ポーリング ライブラリをサポートしています (Libevent 拡張機能をインストールする必要があります)。インストールされていない場合、Libevent は PHP の組み込みの Select 関連のシステム コールを使用し、そのパフォーマンスも非常に強力です。
以上がワーカーマンは使いやすいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。