jarir-ahmed/message-broker

Framework-agnostic message broker facade for Kafka, RabbitMQ, Redis, SQS, Pub/Sub, MQTT, NATS, ZeroMQ, ActiveMQ, Azure Service Bus, and in-memory transports.

Maintainers

Package info

github.com/jarir2020/jarir-ahmed-message-broker

pkg:composer/jarir-ahmed/message-broker

Statistics

Installs: 2

Dependents: 1

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.0 2026-06-11 00:58 UTC

This package is auto-updated.

Last update: 2026-06-11 01:01:24 UTC


README

Framework-agnostic PHP message broker facade for publishing the same message through one or more transports.

Installation

composer require jarir-ahmed/message-broker

Install the optional client library for each transport you want to use.

Usage

use JarirAhmed\MessageBroker\MessageBroker;

$broker = new MessageBroker(
    ['custom', 'rabbitmq'],
    [
        'rabbitmq' => [
            'host' => 'localhost',
            'user' => 'guest',
            'password' => 'guest',
        ],
    ]
);

$broker->connect();
$broker->publish('orders.created', json_encode(['id' => 123], JSON_THROW_ON_ERROR));
$broker->close();

Supported broker names are:

  • activemq
  • azureservicebus
  • custom
  • gcppubsub
  • kafka
  • mqtt
  • nats
  • rabbitmq
  • redis
  • sqs
  • zeromq

The custom broker is in-memory and has no external dependencies, which makes it useful for tests and local development.