【swoole】结合swoole 和 nsq 的实际应用
2024-08-31 09:07:09
集合 swoole 的框架设计
为了减少理解度,我尽量的从源头开始引入
1. nsq
案例中是使用 swoole 结合一个php 框架实现的是 NSQ 订阅功能。
启动命令:
sudo bash /www/webserver/bin/swoole.sh start nsq adminexport
解释上面一个指令,使用 bash 执行一个项目中的脚本。
start 对应启动命令
nsq : 代表对应使用NSQ 服务
adminexport : 对应的是NSQ 的topic
脚本的本质,通过框架的入口文件,根据传参,进入到的不同的消息中间件,及对应的服务
php 订阅
AdminexportService 继承封装好的 SwooleService。 在init方法中,初始化 swoole服务。并且注册回调函数。
AdminexportService 在重写的 swooleWorkerStart 回调函数中,实现了NSQ 的订阅功能
NSQ 消息的处理
- 简单封装了重复消息的判断
- requeue 没有消费消息的重新投递
3. 引入 swoole
就是构造方法引入 swoole 的实例化
同时,重写 workerStart 的方法。
所以当执行脚本的时候,也就是启动了 对应的swoole 服务。启动了订阅者的客户端。
不断的消费来自nsq topic 的消息
看吧,swoole 其实也很简单。 把它当做一个工具类,拿来用就可以了。 在实现的时候引入它,通过 WorkerStart 处理分发的消息即可。
当然更好的是使用协程。
另外吹一波,协程就是厉害
以上是文章全部内容,有需要学习交流的友人请加入交流群的咱们一起,有问题一起交流,一起进步!前提是你是学技术的。感谢阅读!
最新文章
- css小知识之伪元素
- Effective C++ -----条款43:学习处理模板化基类内的名称
- linux C 快速排序法
- Property type &#39;id<;tabBarDelegate>;&#39; is incompatible with type &#39;id<;UITabBarDelegate>; _Nullable&#39; inherited from &#39;UITabBar&#39;
- 习题3.10 约瑟夫环 josephus问题
- 【原创】JPEG图像密写研究(二) 哈夫曼树的建立
- 深入理解计算机系统之旅(四)处理器(CPU)的体系结构
- 微渠道发展 BAE交通运输平台和java呼声,微信mysql数据库开发实例 --图文开发教程
- ZOJ 3923 Handshakes
- vim配置强悍来袭
- istio入门(00)istio的学习资源
- java创建线程
- Javascript之高级数组API的使用实例
- mybatis 查询单个对象,结果集类型一定要明确
- Codeforces Round #510 (Div. 2)(A)
- PyCharm 新建文件时默认添加作者时间等
- Hbuild开发App入门
- Web服务器(容器)请求常见的错误及其解决方法
- eclipse手动build整个project
- Hadoop源码分析之Configuration
热门文章
- ORACLE 12.2RAC之问题 ora.chad OFFLINE
- 表单生成器(Form Builder)之mongodb表单数据查询——统计查询求和
- Python+Unittest+Requests+PyMysql+HTMLReport 接口自动化框架
- R学习
- Tensorflow常用算数操作
- steamdb cookie
- 《推送开发全面盘点当前Android后台保活方案的真实运行效果》
- office2019专业版激活秘钥 激活码
- python __getattr__和 __getattribute__
- Thinkphp <;= 5.0.10 缓存getshell复现