您的位置:首页 > 编程语言 > PHP开发

php消息队列的应用

2016-09-03 16:26 330 查看
欢迎加入,新群号码:99640845

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

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

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

具体的业务场景如下:

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

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

也就是变成了:

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

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

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



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

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



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

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

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

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

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

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



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

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

先这样吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息