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

  1. Basato su modello di pubblicazione e abbonamento

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