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, CQRS, Publish\Subscribe, Message Bus.
Basically, it is suitable for development of distributed applications. By using the Message Bus and Saga pattern it lets you decrease the coupling of contexts.
Performance comparison with the "symfony/messenger"
composer create-project mmasiukevich/service-bus-skeleton my-project
Demo application (WIP): service-bus-demo
- Asynchronous messaging
- Distribution (messages can be handled by different processes).
- Subscribers can be implemented on any programming language.
- Orchestration of long-lived business transactions (for example, a checkout) with the help of Saga Pattern
- Full history of aggregate changes (EventSourcing)
- Decrease of the coupling between the components (contexts)
- EventSourcing
- Sagas
- Messages (Command/Event/Query)
- Processing of messages
- Scheduler
- Database adapters
- Initialization
- PHP 7.2
- RabbitMQ (You can implement Transport interface)
- PostgreSQL Learn more about adapters
If you discover any security related issues, please email desperado@minsk-info.ru
instead of using the issue tracker.
The MIT License (MIT). Please see LICENSE for more information.