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環境下無法使用。