ホームページ >バックエンド開発 >PHPチュートリアル >PHP TCP 長い接続拡張機能: Foolsock

PHP TCP 長い接続拡張機能: Foolsock

WBOY
WBOYオリジナル
2016-06-23 13:27:131389ブラウズ

foolsock は、RPC 通信で TCP ロングコネクションを実装するために開発された PHP 拡張機能です

はじめに

PHP 多くのプロジェクトは、ビジネス規模の拡大に伴い (特に端末数が多い場合) 徐々にサービス指向に進化しています。モデルは、比較的独立した、または時間のかかるビジネスを別のサービス (ユーザー モジュールなど) に抽象化し、c/c++ や golang などのより効率的な言語を使用して特定のビジネス レイヤー (Web ページやモバイル端末など) を処理することです。各サービスを呼び出すこのアーキテクチャにより、さまざまなビジネス間の結合が大幅に削減され、モジュールの再利用性が最大化されます。

ビジネス層とバックエンド サービスの間の通信プロトコルでは、http は効率的な RPC プロトコルではありません。実際、PHP には良い例を提供してくれる拡張機能が数多くあります。mysql、memcached などが最も一般的な「サービス」であり、それらのクライアント処理メソッドを完全に採用できます。

mysql や memcached などの拡張機能はすべて、サーバーとの通信に TCP を使用するため、興味のある学生はソース コードを確認することができます。

プロトコル処理も mysql や memcached などの PHP 拡張機能にカプセル化されている場合、追加サービスごとに拡張機能をインストールする必要があることを意味します。これはメンテナンスにとって非常に不利であり、開発効率も低下します。

foolsock はソケットの単純なカプセル化を実行し、接続をpersistent_list ハッシュ テーブルに配置します。各 fastcgi プロセスは接続後に解放されず、次のリクエストに直接使用されます。現在の最大接続数は、fastcgi プロセスの数と同じです。もちろん、接続プールの効果を得るために自分で変更することもできます。

foolsock を使用すると、プロトコル関連のロジックを php で実装することもでき、開発コストを大幅に削減できます。

インストール

从github下载源码后解压cd foolsockphpize./configuremake && make install最后将extension=foolsock.so加入php.ini,重启php-fpm或者其他fastcgi

使用方法

Example

example/memcache_client.php は、memcache の 2 つの基本操作 (Add/Get) を実装する単純な memcache クライアントの例を提供します: テスト後の処理効率。 memcache 拡張機能をかなり使用するのと同じです。



プロジェクトのホームページ:

http://www.open-open.com/lib/view/home/1441013134862

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