Channel verteiltes Kommunikationskomponente
(Erfordert Workerman-Version >= 3.3.0)
Quellcode-URL: https://github.com/walkor/Channel
Channel ist eine verteilte Kommunikationskomponente, die zur Kommunikation zwischen Prozessen oder Servern verwendet wird.
Merkmale
- Basierend auf dem Publish/Subscribe-Modell
- Nicht blockierende E/A (Input/Output)
Prinzip
Channel umfasst den Channel/Server-Server und den Channel/Client-Client.
Der Channel/Client verbindet sich über die connect-Schnittstelle mit dem Channel/Server und hält die Verbindung aufrecht.
Der Channel/Client informiert den Channel/Server über die on-Schnittstelle, welche Ereignisse er verfolgen soll, und registriert Ereignisrückruffunktionen (Rückrufe erfolgen im Prozess des Channel/Client).
Der Channel/Client veröffentlicht über die publish-Schnittstelle ein bestimmtes Ereignis und die damit verbundenen Daten an den Channel/Server.
Der Channel/Server empfängt das Ereignis und die Daten und verteilt sie an den Channel/Client, der dieses Ereignis verfolgt.
Nachdem der Channel/Client das Ereignis und die Daten erhalten hat, wird der gemäß der on-Schnittstelle festgelegte Rückruf ausgelöst.
Der Channel/Client empfängt nur die Ereignisse, die er verfolgt hat, und löst die Rückrufe aus.
Installation
composer require workerman/channel
Beachtung
Channel kann nur in einer Workerman-Umgebung verwendet werden. Es kann nicht in einer PHP-FPM-Umgebung verwendet werden.