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
-
Basé sur un modèle de publication/abonnement
-
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.