A concurrency (based on Amp) framework, that lets you implement an asynchronous messaging, a transparent workflow and control of long-lived business transactions by means of the Saga pattern. It implements the message based architecture and it includes the following patterns: Saga, Publish\Subscribe, Message Bus.
- Сooperative multitasking
- Asynchronous messaging (Publish\Subscribe pattern implementation)
- Event-driven architecture
- Distribution (messages can be handled by different processes)
- Subscribers can be implemented on any programming language
- High performance
- Orchestration of long-lived business transactions (for example, a checkout) with the help of Saga Pattern
- Full history of aggregate changes (EventSourcing)
composer create-project php-service-bus/skeleton my-project
Demo application (WIP): service-bus-demo
Documentation can be found in the documentation repository
- PHP 7.4
- RabbitMQ
- PostgreSQL 9.5+
Contributions are welcome! Please read CONTRIBUTING for details.
You can find help and discussion in the following places:
The MIT License (MIT). Please see LICENSE for more information.