mmasiukevich / service-bus
PHP Service Bus (publish-subscribe pattern)
Fund package maintenance!
Open Collective
Requires
- php: >=8.0
- ext-json: *
- ext-pcntl: *
- ext-zlib: *
- amphp/file: v1.0.*
- amphp/log: v1.1.*
- amphp/parallel: v1.4.*
- kelunik/retry: v1.0.*
- php-service-bus/annotations-reader: v5.0.*
- php-service-bus/common: v5.0.*
- php-service-bus/http-client: v5.0.*
- php-service-bus/message-serializer: v5.0.*
- php-service-bus/messages-router: v5.0.*
- php-service-bus/mutex: v5.0.*
- php-service-bus/storage: v5.0.*
- php-service-bus/telegram-bot-core: v5.0.*
- php-service-bus/transport: v5.0.*
- symfony/config: v5.2.*
- symfony/dependency-injection: v5.2.*
- symfony/dotenv: v5.2.*
- symfony/error-handler: v5.2.*
- symfony/validator: v5.2.*
- symfony/yaml: v5.2.*
Requires (Dev)
- kelunik/loop-block: v1.0.*
- php-service-bus/code-style-config: v1.3.*
- php-service-bus/event-sourcing: v5.0.*
- php-service-bus/sagas: v5.0.*
- php-service-bus/scheduler: v5.0.*
- phpstan/phpstan: v0.12.*
- phpunit/phpunit: v9.5.*
- vimeo/psalm: v4.5.*
- v5.1.x-dev
- v5.0.x-dev
- v5.0.0
- v4.1.x-dev
- v4.1.4
- v4.1.3
- v4.1.2
- v4.1.1
- v4.0.x-dev
- v4.0.6
- v4.0.5
- v4.0.4
- v4.0.3
- v4.0.2
- v4.0.1
- v4.0.0-rc6
- v4.0.0-rc4
- v4.0.0-rc3
- v4.0.0-rc1
- v3.3.x-dev
- v3.3.3
- v3.3.0
- v3.2.x-dev
- v3.2.4
- v3.2.3
- v3.2.2
- v3.2.0
- v3.1.x-dev
- v3.1.0
- v3.0.x-dev
- v3.0.9
- v3.0.8
- v3.0.7
- v3.0.5
- 3.0.3
- 3.0.2
- v3.0.0
- v2.4.x-dev
- v2.4.2
- v2.4.1
- v2.4.0
- v2.3.3
- v2.3.2
- v2.3.1
- v2.3.0
- v2.2.8
- v2.2.7
- v2.2.6
- v2.2.5
- v2.2.4
- 2.2.3
- v2.2.0
- v2.1.8
- v2.1.7
- v2.1.6.1
- v2.1.5
- v2.0.5
- v2.0.4
- v2.0.3
- v2.0.2
- v2.0.1
- v2.0.0
- v1.2.3
- 1.2.2
- v1.2.1
- v1.2.0
- v1.1.5
- v1.1.4
- v1.1.3
- v1.1.1
- v1.1.0
- v1.0.5
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.0
- v0.0.4.3
- v0.0.4.2
- v0.0.4.1
- v0.0.4
- v0.0.2
- v0.0.1
- dev-3.0-refactoring
- dev-develop
This package is auto-updated.
Last update: 2022-02-01 13:12:00 UTC
README
Introduction
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.
Main Features
- Сooperative multitasking
- Asynchronous messaging (Publish\Subscribe pattern implementation)
- Event-driven architecture
- Distribution (messages can be handled by different applications)
- 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)
See it in action
Jump into our Quick Start and build your first distributed solution in just 15 minutes.
Documentation
Documentation can be found in the .documentation
directory
Requirements
- PHP >=8.0
- RabbitMQ/Redis/Nsq
- PostgreSQL
Contributions are welcome! Please read CONTRIBUTING for details.
Communication Channels
You can find help and discussion in the following places:
Contributing
Contributions are welcome! Please read CONTRIBUTING for details.
License
The MIT License (MIT). Please see LICENSE for more information.