Componente di comunicazione distribuita Channel
(Richiede Workerman versione >= 3.3.0)
Repository del codice sorgente: https://github.com/walkor/Channel
Channel è un componente di comunicazione distribuita utilizzato per la comunicazione tra processi o server.
Caratteristiche
- Basato sul modello di pubblicazione/sottoscrizione
- IO non bloccante
Principio
Channel include il server Channel/Server e il client Channel/Client.
Il client Channel/Client si connette al server Channel/Server tramite l'interfaccia connect e mantiene una connessione a lungo termine.
Il client Channel/Client utilizza l'interfaccia on per informare il server Channel/Server su quali eventi sta seguendo e registra le funzioni di callback degli eventi (il callback avviene nel processo in cui si trova il client Channel/Client).
Il client Channel/Client pubblica un evento e i dati correlati al server Channel/Server tramite l'interfaccia publish.
Dopo aver ricevuto l'evento e i dati, il server Channel/Server li distribuisce ai client Channel/Client interessati a tale evento.
Il client Channel/Client riceve l'evento e i dati e attiva i callback impostati tramite l'interfaccia on.
Il client Channel/Client riceverà solo gli eventi a cui è interessato e attiverà i callback.
Installazione
composer require workerman/channel
Nota
Channel può essere utilizzato solo in un ambiente Workerman e non può essere utilizzato in un ambiente php-fpm.