Skip to content

PHP Service Bus (publish-subscribe pattern) implementation

License

Notifications You must be signed in to change notification settings

php-service-bus/service-bus

Repository files navigation

Packagist Packagist Continuous Integration codecov Shepherd Latest Stable Version License Financial Contributors on Open Collective

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.1
  • 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.