Channel分布式通讯组件

(要求Workerman版本>=3.3.0)

源码地址:https://github.com/walkor/Channel

Channel เป็นส่วนประกอบการสื่อสารแบบกระจายที่ใช้สำหรับการสื่อสารระหว่างกระบวนการหรือตัวเซิร์ฟเวอร์

特点

1、基于订阅发布模型

2、非阻塞式IO

原理

Channel รวมถึง Channel/Server เซิร์ฟเวอร์และ Channel/Client ไคลเอนต์

Channel/Client เชื่อมต่อกับ Channel/Server ผ่านทาง interface connect และรักษาการเชื่อมต่อที่ยาวนาน

Channel/Client ใช้การเรียก interface on เพื่อบอก Channel/Server ว่าเหตุการณ์ใดบ้างที่สนใจ และลงทะเบียนฟังก์ชัน callback ของเหตุการณ์ (การเรียกกลับเกิดขึ้นในกระบวนการที่ Channel/Client อยู่)

Channel/Client ใช้ interface publish เพื่อเผยแพร่เหตุการณ์และข้อมูลที่เกี่ยวข้องกับเหตุการณ์ไปยัง Channel/Server

หลังจากที่ Channel/Server รับเหตุการณ์และข้อมูลแล้วจะทำการกระจายไปยัง Channel/Client ที่สนใจเหตุการณ์นี้

Channel/Client จะได้รับเหตุการณ์และข้อมูลและเรียกใช้ callback ที่ตั้งค่าไว้โดย interface on

Channel/Client จะได้รับเพียงเหตุการณ์ที่สนใจและเรียกใช้ callback เท่านั้น

安装

composer require workerman/channel

注意

Channel สามารถใช้ได้เฉพาะในสภาพแวดล้อมของ workerman ไม่สามารถใช้ในสภาพแวดล้อมของ php-fpm ได้