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