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 ได้