asan / nsq-swoole
NSQ的Swoole PHP客户端
v1.3
2017-06-27 09:29 UTC
Requires
- php: >=5.4
- ext-swoole: >=1.8.6
README
PHP Swoole客户端,用于NSQ。
要求
- PHP 5.4或更高版本
- Swoole 1.8.6或更高版本
安装
composer require asan/nsq-swoole
测试
发布
php tests/PublishTest.php
订阅
php tests/SubscribeTest.php
发布
客户端支持向N个nsqd
服务器发布。这些服务器必须通过主机名明确指定。并且支持发布多个消息。
$client = new Asan\Nsq\Client; $client->publishTo([ ['host' => 'localhost', 'port' => 4150] ])->publish('test', 'single message'); //multiple messages $client->publish('test', ['message one', 'message two']); //HA publishing: $client->publishTo([ ['host' => 'nsq1', 'port' => 4150], ['host' => 'nsq2', /*'port' => 4150*/] ], Asan\Nsq\Client::PUB_QUORUM)->publish('test', 'HA publishing message');
订阅
客户端支持从N个nsqd
服务器订阅,每个服务器将通过一个或多个nslookupd
服务器自动发现。工作原理是nslookupd
能够提供一个列表,其中包含为给定主题托管消息的自动发现的节点。
$lookup = new Asan\Nsq\Lookup\Lookupd([ ['host' => 'nsq1', 'port' => 4161], ['host' => 'nsq2', /*'port' => 4161*/] ]); $client = new Asan\Nsq\Client; $client->subscribe($lookup, 'test', 'web', function($moniter, $msg) { echo sprintf("READ\t%s\t%s\n", $msg->getId(), $msg->getPayload()); });