需求
给当前在线浏览用户推送优惠券,或者刺激用户消费的话术
今天我们主要是借助Laravel Broadcasting你可以使用上时下很热的Websocket技术
解决方案
1 . 基于laravel的事件广播系统
2 . 基于workman通过长连接
3 . 基于swoole长连接
相同点:三者都可以推送广播事件
区别:1. 事件广播系统更适合局部小范围的laravel项目使用(适合单一用途laravel项目)支持单进程、多线程
workerman则是使用纯php实现的socket框架(适合中小型长连接项目)支持多进程、多线程
swoole是使用C语言实现的socket通信框架(适合大中型长连接项目)支持多进程、多线程
Laravel广播架构
具体流程如下图: