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

  1. Basado en el modelo de publicación-suscripción

  2. 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.