Channel分布式通訊組件
(要求Workerman版本>=3.3.0)
源碼地址:https://github.com/walkor/Channel
Channel是一個分布式通訊組件,用于完成進(jìn)程間通訊或者服務(wù)器間通訊。
特點
1、基于訂閱發(fā)布模型
2、非阻塞式IO
原理
Channel包含Channel/Server服務(wù)端和Channel/Client客戶端
Channel/Client通過connect接口連接Channel/Server并保持長連接
Channel/Client通過調(diào)用on接口告訴Channel/Server自己關(guān)注哪些事件,并注冊事件回調(diào)函數(shù)(回調(diào)發(fā)生在Channel/Client所在進(jìn)程中)
Channel/Client通過publish接口向Channel/Server發(fā)布某個事件及事件相關(guān)的數(shù)據(jù)
Channel/Server接收事件及數(shù)據(jù)后會分發(fā)給關(guān)注這個事件的Channel/Client
Channel/Client收到事件及數(shù)據(jù)后觸發(fā)on接口設(shè)置的回調(diào)
Channel/Client只會收到自己關(guān)注事件并觸發(fā)回調(diào)
安裝
composer require workerman/channel
注意
Channel只能用在workerman環(huán)境,php-fpm環(huán)境下無法使用。