php消息队列的应用
2016-09-03 16:26
330 查看
欢迎加入,新群号码:99640845
最近打算开发一个新功能,计划应用消息队列。
以前对消息队列都是简单的理论了解,真正应用之后把自己的感觉和一些理解整理下来。
=================说正事分割线====================
具体的业务场景如下:
用户下单-》生成订单-》支付-》返回支付信息
就是正常的订单逻辑,现在需要在中间做一个功能类似于,统计每张订单的来源,而这个来源就是整个平台的用户。相当于一个推广的策略。
也就是变成了:
用户下单-》判断来源-》生成订单-》支付-》维护来源统计表-》返回支付信息
还要根据来源统计表做一个日,周,月,总 的排行榜这样看来在 维护来源统计表 的时候要维护的数据量还是蛮大的
这样就会把之前的简单的业务逻辑变的复杂 所以才用了-》消息队列,将整个维护来源的操作通过异步的方式来处理 而去有无限的发展空间
这样在不影响整个流程的同时加入了一个写的业务流程。
这个消息队列的具体实现如下:
在这里其实还有很多扩展 嘿嘿 下面就是想象力打开的时候了:
在写入队列的时候可以规定相应的规则如:
{'处理脚本':'test','data':{'test':'test'},'分组':‘1','处理结果':'0'}
这样就可以通过一个消息队列来处理整个项目的所以消息任务
把data发送给相遇的脚本返回处理结果,而这个分组可以实现分组多进程并发处理来解决效率问题。
效率问题的结局还可以在守护进程上进行增加,守护进程跟进当前的任务量发起适当的处理进程,处理进程再分发给具体的业务处理脚本
目前想到的就是这样,至于队列的存储中介,可以是缓存也可以是mysql这就根据具体的应用环境和开发环境来定了。
多进程的实现可以用php的命令行exec或者是curl的并发模式都可以。
先这样吧。
最近打算开发一个新功能,计划应用消息队列。
以前对消息队列都是简单的理论了解,真正应用之后把自己的感觉和一些理解整理下来。
=================说正事分割线====================
具体的业务场景如下:
用户下单-》生成订单-》支付-》返回支付信息
就是正常的订单逻辑,现在需要在中间做一个功能类似于,统计每张订单的来源,而这个来源就是整个平台的用户。相当于一个推广的策略。
也就是变成了:
用户下单-》判断来源-》生成订单-》支付-》维护来源统计表-》返回支付信息
还要根据来源统计表做一个日,周,月,总 的排行榜这样看来在 维护来源统计表 的时候要维护的数据量还是蛮大的
这样就会把之前的简单的业务逻辑变的复杂 所以才用了-》消息队列,将整个维护来源的操作通过异步的方式来处理 而去有无限的发展空间
这样在不影响整个流程的同时加入了一个写的业务流程。
这个消息队列的具体实现如下:
在这里其实还有很多扩展 嘿嘿 下面就是想象力打开的时候了:
在写入队列的时候可以规定相应的规则如:
{'处理脚本':'test','data':{'test':'test'},'分组':‘1','处理结果':'0'}
这样就可以通过一个消息队列来处理整个项目的所以消息任务
把data发送给相遇的脚本返回处理结果,而这个分组可以实现分组多进程并发处理来解决效率问题。
效率问题的结局还可以在守护进程上进行增加,守护进程跟进当前的任务量发起适当的处理进程,处理进程再分发给具体的业务处理脚本
目前想到的就是这样,至于队列的存储中介,可以是缓存也可以是mysql这就根据具体的应用环境和开发环境来定了。
多进程的实现可以用php的命令行exec或者是curl的并发模式都可以。
先这样吧。
相关文章推荐
- 用php操作消息隊列,RabbitMQ消息队列在PHP下的应用大全
- 消息队列及PHP中的简单实现与应用
- PHP消息队列及应用思路
- RabbitMQ消息队列在PHP下的应用
- RabbitMQ消息队列在PHP下的应用 (zhuan)
- PHP消息队列实现及应用_慕课网学习
- PHP(Mysql/Redis)消息队列的介绍及应用场景案例
- rabbitmq消息队列php实际应用
- PHP消息队列实现及应用:队列处理订单系统和配送系统
- PHP消息队列实现及应用:流量削峰案列(Redis的List类型实现秒杀)
- RabbitMQ消息队列在PHP下的应用
- RabbitMQ消息队列在PHP下的应用
- [转]RabbitMQ消息队列在PHP下的应用
- PHP消息队列实现及应用:消息队列概念介绍
- RabbitMQ消息队列在PHP下的应用
- RabbitMQ消息队列在PHP下的应用
- RabbitMQ消息队列在PHP下的应用
- RabbitMQ消息队列在PHP下的应用
- . Net环境下消息队列(MSMQ)对象的应用
- 基于消息队列和消息应用状态处理分布式事务