Note: This repository is a part of Kraken Framework, but can be used freely as standalone library. If you are interested in more asynchronous components for PHP, check out the rest of Kraken repository or see our asynchronous application skeleton example.
Channel is an event-based component that allows sending and receiving messsages asynchronously. It provides abstraction for various IPC models and is designed to be used in multi-threaded, multi-processed systems. It provides complex routing mechanisms, protocols, message encoders and extends behaviour of decorated IPC models by implementing hearbeat mechanisms, reconnect mechanisms and allowing usage of both async and request-reply messaging patterns.
Channel features:
- Message-driven communication,
- IPC models abstraction,
- Support for sending asynchronous messages,
- Support for request-reply pattern,
- Built-in offline and online message buffers,
- Built-in configurable protocol-based routing mechanisms,
- Separation of input and output routers,
- Heartbeat mechanism,
- Reconnect mechanism,
- Event-based API,
- Promise-based helpers,
- Kraken Framework compatibility,
- ...and more.
See more examples in official documentation.
- PHP-5.6 or PHP-7.0+,
- UNIX or Windows OS.
composer require kraken-php/channel
Tests are provided within our write-only Framework repository.
Documentation for this module can be found in the official documentation.
This library is read-only subtree split of Kraken Framework. To make contributions, please go to Framework repository.
This library licensed under the MIT license, see more information in Kraken Framework license section.