Channel componente di comunicazione distribuita
(richiesta Workerman versione >= 3.3.0)
Indirizzo sorgente: https://github.com/walkor/Channel
Channel è un componente di comunicazione distribuita, utilizzato per la comunicazione tra processi o tra server.
Caratteristiche
-
Basato su modello di pubblicazione e abbonamento
-
I/O non bloccante
Principio
Channel include il server Channel/Server e il client Channel/Client.
Channel/Client si connette al Channel/Server tramite l'interfaccia connect e mantiene una connessione persistente.
Channel/Client informa il Channel/Server sugli eventi a cui è interessato attraverso l'interfaccia on e registra le funzioni di callback degli eventi (il callback avviene nel processo in cui si trova Channel/Client).
Channel/Client pubblica un evento e i dati relativi all'evento al Channel/Server tramite l'interfaccia publish.
Dopo aver ricevuto l'evento e i dati, il Channel/Server li distribuisce ai Channel/Client che sono interessati a quell'evento.
Channel/Client riceve l'evento e i dati e attiva il callback impostato tramite l'interfaccia on.
Channel/Client riceverà solo eventi a cui è interessato e attiverà i callback.
Installazione
composer require workerman/channel
Attenzione
Channel può essere utilizzato solo nell'ambiente Workerman e non è utilizzabile nell'ambiente php-fpm.