php 使用nsq,【swoole】结合swoole 和 nsq 的实际应用

集合 swoole 的框架设计

为了减少理解度,我尽量的从源头开始引入

1. nsq

案例中是使用 swoole 结合一个php 框架实现的是 NSQ 订阅功能。

启动命令:

sudo bash /www/webserver/bin/swoole.sh start nsq adminexport

解释上面一个指令,使用 bash 执行一个项目中的脚本。

start 对应启动命令

nsq : 代表对应使用NSQ 服务

adminexport : 对应的是NSQ 的topic

脚本的本质,通过框架的入口文件,根据传参,进入到的不同的消息中间件,及对应的服务

bVbtzgR?w=369&h=401

2. php 订阅

AdminexportService 继承封装好的 SwooleService。 在init方法中,初始化 swoole服务。并且注册回调函数。

bVbtzg9?w=1043&h=830

AdminexportService 在重写的 swooleWorkerStart 回调函数中,实现了NSQ 的订阅功能

bVbtzhg?w=728&h=279

NSQ 消息的处理

bVbtzhH?w=1118&h=711

简单封装了重复消息的判断

requeue 没有消费消息的重新投递

3. 引入 swoole

就是构造方法引入 swoole 的实例化

同时,重写 workerStart 的方法。

所以当执行脚本的时候,也就是启动了 对应的swoole 服务。启动了订阅者的客户端。

不断的消费来自nsq topic 的消息

看吧,swoole 其实也很简单。 把它当做一个工具类,拿来用就可以了。 在实现的时候引入它,通过 WorkerStart 处理分发的消息即可。

当然更好的是使用协程。

另外吹一波,协程就是厉害

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值