Componente de Comunicación Distribuida Channel
(Requiere Workerman versión >= 3.3.0)
Dirección del código fuente: https://github.com/walkor/Channel
Channel es un componente de comunicación distribuida, utilizado para realizar comunicación entre procesos o entre servidores.
Características
-
Basado en el modelo de publicación-suscripción
-
IO no bloqueante
Principio
Channel incluye el servicio Channel/Server y el cliente Channel/Client.
Channel/Client se conecta a Channel/Server a través de la interfaz connect y mantiene una conexión persistente.
Channel/Client informa a Channel/Server sobre los eventos que le interesan a través de la llamada a la interfaz on y registra funciones de devolución de llamada (las devoluciones de llamada ocurren en el proceso donde se encuentra Channel/Client).
Channel/Client publica un evento y los datos relacionados con el evento a Channel/Server a través de la interfaz publish.
Channel/Server, después de recibir el evento y los datos, los distribuye a los Channel/Client que están interesados en ese evento.
Channel/Client, al recibir el evento y los datos, activa la devolución de llamada configurada en la interfaz on.
Channel/Client solo recibirá eventos en los que esté interesado y activará la devolución de llamada.
Instalación
composer require workerman/channel
Notas
Channel solo se puede utilizar en el entorno de workerman, no se puede usar en el entorno de php-fpm.