PHP消息队列实现及应用
主要内容:
一、消息队列的概念、原理和场景
二、解耦案例:队列处理订单系统和配送系统
三、流量削峰案例:Redis的List类型实现秒杀
四、RabbitMQ:更专业的消息系统实现方案
一、消息队列的概念、原理和场景
1、概念
2、原理
3、场景
冗余、解耦、流量削峰、异步通信、扩展性、排序保证
4、队列介质
# Mysql:可靠性高、易实现,速度慢
# Redis: 速度快,单条大消息包时效率低
# 消息系统: 专业性强、可靠、学习成本高 RebbitMQ
5、消息处理触发机制
# 死循环方式读取:易实现,故障时无法及时恢复 适合秒杀
# 定时任务:压力均分,有处理量上限 如今比较流行的触发机制
# 守护进程: 类似于PHP-FPM和PHP-CG,需要shell基础
二、解耦案例:队列处理订单系统和配送系统