Composant de communication distribué Channel

(Version Workerman >= 3.3.0 requise)

Adresse du code source : https://github.com/walkor/Channel

Channel est un composant de communication distribué utilisé pour réaliser la communication inter-processus ou la communication entre serveurs.

Caractéristiques

  1. Basé sur un modèle de publication/abonnement

  2. I/O non-bloquant

Principe

Channel comprend le serveur Channel/Server et le client Channel/Client.

Channel/Client se connecte à Channel/Server via l'interface connect et maintient une connexion persistante.

Channel/Client informe Channel/Server des événements auxquels il s’intéresse en appelant l'interface on et en enregistrant les fonctions de rappel d'événements (le rappel se produit dans le processus où se trouve Channel/Client).

Channel/Client publie un événement et les données associées à cet événement à Channel/Server via l'interface publish.

Après avoir reçu l'événement et les données, Channel/Server les diffuse aux Channel/Client intéressés par cet événement.

Channel/Client déclenche alors le rappel défini avec l’interface on après avoir reçu l'événement et les données.

Channel/Client ne recevra que les événements qui l’intéressent et déclenchera les rappels appropriés.

Installation

composer require workerman/channel

Remarque

Channel ne peut être utilisé que dans un environnement Workerman et ne peut pas fonctionner dans un environnement php-fpm.