Channel 分布式通讯组件
(要求Workerman版本>=3.3.0)
源码地址:https://github.com/walkor/Channel
Channel 是一个分布式通讯组件,用于完成进程间通讯或者服务器间通讯。
特点
1、基于订阅发布模型
2、非阻塞式 IO
原理
Channel 包含 Channel/Server 服务端和 Channel/Client 客户端
Channel/Client 通过 connect 接口连接 Channel/Server 并保持长连接
Channel/Client 通过调用 on 接口告诉 Channel/Server 自己关注哪些事件,并注册事件回调函数(回调发生在 Channel/Client 所在进程中)
Channel/Client 通过 publish 接口向 Channel/Server 发布某个事件及事件相关的数据
Channel/Server 接收事件及数据后会分发给关注这个事件的 Channel/Client
Channel/Client 收到事件及数据后触发 on 接口设置的回调
Channel/Client 只会收到自己关注事件并触发回调
安装
composer require workerman/channel
注意
Channel 只能用在 workerman 环境,php-fpm 环境下无法使用。