1. 云栖社区>
  2. PHP教程>
  3. 正文

php消息队列的应用

作者:用户 来源:互联网 时间:2017-12-01 13:15:08

php应用队列消息

php消息队列的应用 - 摘要: 本文讲的是php消息队列的应用, 最近打算开发一个新功能,计划应用消息队列。 以前对消息队列都是简单的理论了解,真正应用之后把自己的感觉和一些理解整理下来。 =================说正事分割线==================== 具体的业务场景如下: 用户

最近打算开发一个新功能,计划应用消息队列。

以前对消息队列都是简单的理论了解,真正应用之后把自己的感觉和一些理解整理下来。

=================说正事分割线====================

具体的业务场景如下:

用户下单-》生成订单-》支付-》返回支付信息

就是正常的订单逻辑,现在需要在中间做一个功能类似于,统计每张订单的来源,而这个来源就是整个平台的用户。相当于一个推广的策略。

也就是变成了:

用户下单-》判断来源-》生成订单-》支付-》维护来源统计表-》返回支付信息

还要根据来源统计表做一个日,周,月,总 的排行榜这样看来在 维护来源统计表 的时候要维护的数据量还是蛮大的

这样就会把之前的简单的业务逻辑变的复杂 所以才用了-》消息队列,将整个维护来源的操作通过异步的方式来处理 而去有无限的发展空间

php消息队列的应用

这样在不影响整个流程的同时加入了一个写的业务流程。

这个消息队列的具体实现如下:

php消息队列的应用

在这里其实还有很多扩展 嘿嘿 下面就是想象力打开的时候了:

在写入队列的时候可以规定相应的规则如:

{'处理脚本':'test','data':{'test':'test'},'分组':‘1','处理结果':'0'}

这样就可以通过一个消息队列来处理整个项目的所以消息任务

把data发送给相遇的脚本返回处理结果,而这个分组可以实现分组多进程并发处理来解决效率问题。

效率问题的结局还可以在守护进程上进行增加,守护进程跟进当前的任务量发起适当的处理进程,处理进程再分发给具体的业务处理脚本

php消息队列的应用

目前想到的就是这样,至于队列的存储中介,可以是缓存也可以是mysql这就根据具体的应用环境和开发环境来定了。

多进程的实现可以用php的命令行exec或者是curl的并发模式都可以。

先这样吧。

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php , 应用 , 队列 消息 ,以便于您获取更多的相关知识。