亚洲精品成人_精品成人一区_999视频在线播放_免费黄色在线_亚洲成人久久久_久久www免费视频

NSQ客戶(hù)端

NSQ 是實(shí)時(shí)的分布式消息處理平臺(tái),其設(shè)計(jì)的目的是用來(lái)大規(guī)模地處理每天數(shù)以十億計(jì)級(jí)別的消息。 它具有分布式和去中心化拓?fù)浣Y(jié)構(gòu),該結(jié)構(gòu)具有無(wú)單點(diǎn)故障、故障容錯(cuò)、高可用性以及能夠保證消息的可靠傳遞的特征。

組件要求

  • php: >=5.3.0
  • ext-json: *
  • easyswoole/easyswoole: 3.x
  • easyswoole/http-client: ^1.2.5
  • easyswoole/pool: ^1.0
  • easyswoole/spl: ^1.1
  • monolog/monolog: ~1.0
  • react/react: >=0.2.1

安裝方法

composer require easyswoole/nsq

倉(cāng)庫(kù)地址

easyswoole/nsq

基本使用

注冊(cè)Nsq服務(wù)

namespace EasySwoole\EasySwoole;

use App\Producer\Process as ProducerProcess;
use App\Consumer\Process as ConsumerProcess;
use EasySwoole\EasySwoole\Swoole\EventRegister;
use EasySwoole\EasySwoole\AbstractInterface\Event;
use EasySwoole\Http\Request;
use EasySwoole\Http\Response;

class EasySwooleEvent implements Event
{

    public static function initialize()
    {
        // TODO: Implement initialize() method.
        date_default_timezone_set('Asia/Shanghai');
    }

    public static function mainServerCreate(EventRegister $register)
    {
        // TODO: Implement mainServerCreate() method.
        // 生產(chǎn)者
        \EasySwoole\Component\Process\Manager::getInstance()->addProcess(new ProducerProcess());
        // 消費(fèi)者
        \EasySwoole\Component\Process\Manager::getInstance()->addProcess(new ConsumerProcess());
    }

    ......

}

生產(chǎn)者

namespace App\Producer;

use EasySwoole\Component\Process\AbstractProcess;

class Process extends AbstractProcess
{
    protected function run($arg)
    {
        go(function () {
            $config = new \EasySwoole\Nsq\Config();
            $topic  = "topic.test";
            $nsqlookup = new \EasySwoole\Nsq\Lookup\Nsqlookupd($config->getNsqdUrl());
            $hosts = $nsqlookup->lookupHosts($topic);

            foreach ($hosts as $host) {
                $nsq = new \EasySwoole\Nsq\Nsq();
                for ($i = 0; $i < 10; $i++) {
                    $msg = new \EasySwoole\Nsq\Message\Message();
                    $msg->setPayload("test$i");
                    $nsq->push(
                        new \EasySwoole\Nsq\Connection\Producer($host, $config),
                        $topic,
                        $msg
                    );
                }
            }
        });
    }
}

消費(fèi)者

namespace App\Consumer;

use EasySwoole\Component\Process\AbstractProcess;

class Process extends AbstractProcess
{
    protected function run($arg)
    {
        go(function () {
            $topic      = "topic.test";
            $config     = new \EasySwoole\Nsq\Config();
            $nsqlookup  = new \EasySwoole\Nsq\Lookup\Nsqlookupd($config->getNsqdUrl());
            $hosts      = $nsqlookup->lookupHosts($topic);
            foreach ($hosts as $host) {
                $nsq = new \EasySwoole\Nsq\Nsq();
                $nsq->subscribe(
                    new \EasySwoole\Nsq\Connection\Consumer($host, $config, $topic, 'test.consuming'),
                    function ($item) {
                        var_dump($item['message']);
                    }
                );
            }
        });
    }
}

附贈(zèng)

  1. Nsq 集群部署 docker-compose.yml 一份,使用方式如下
    1. 保證4150,4151,4160,4161,4171端口未被占用(占用后可以修改compose文件中的端口號(hào))
    2. 根目錄下,docker-compose up -d
    3. 訪問(wèn)localhost:4171,可以查看Web版 nsqadmin 狀態(tài)。

https://github.com/easy-swoole/nsq/blob/master/docker-compose.yml

主站蜘蛛池模板: 四虎影视成人精品国库在线观看 | 日韩爱爱网 | 亚洲激情视频在线 | 成人欧美| 一级做a爰片性色毛片视频直播 | 91精品国产综合久久精品图片 | 日韩72页| 久久国产中文字幕 | 四虎影视免费观看 | 香蕉视频网站在线 | 国产中文在线观看 | 婷婷精品国产一区二区三区日韩 | 亚洲精品9999 | 欧美77 | 第一福利社区1024 | 一区二区三区伦理 | 免费福利在线观看 | 黄色软件免费的 | yeyeav| 香蕉影音| 欧美乱码精品一区二区三 | 日本亚洲欧美 | caoprom在线| 亚洲无吗在线观看 | 欧美一级片在线观看 | 高潮的毛片激情久久精品 | 亚洲欧美色图在线 | 欧洲一区在线观看 | 91精品欧美久久久久久久 | 成人免费视频网 | www.久| 天天色天天插 | 成人18夜夜网深夜福利网 | 少妇做爰α片免费视频网站 | 在线免费观看黄色 | 国产一级做a爱片久久毛片a | 97人人射 | 黄色欧美视频 | 我的朋友的妈妈 | 在线成人www免费观看视频 | 九九九视频在线 |