PHPackages                             a-mazalov/kali-message-broker - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. a-mazalov/kali-message-broker

ActiveLibrary

a-mazalov/kali-message-broker
=============================

Messaging between microservices

v4.3.6(9mo ago)1187↓100%1[1 PRs](https://github.com/a-mazalov/kali-message-broker/pulls)MITPHP

Since Nov 22Pushed 9mo ago1 watchersCompare

[ Source](https://github.com/a-mazalov/kali-message-broker)[ Packagist](https://packagist.org/packages/a-mazalov/kali-message-broker)[ RSS](/packages/a-mazalov-kali-message-broker/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (3)Versions (68)Used By (0)

Kali message broker
===================

[](#kali-message-broker)

[![Latest Stable Version](https://camo.githubusercontent.com/4e5f84fb12871b456a574710b5d2b06064e64fbfb0899090ab6fbaa763633d23/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f612d6d617a616c6f762f6b616c692d6d6573736167652d62726f6b6572)](https://packagist.org/packages/a-mazalov/kali-message-broker)

Messages between services using the rabbitmq broker

Запуск в dev container VScode
-----------------------------

[](#запуск-в-dev-container-vscode)

1. Open project
2. F1 -&gt; Dev Containers: Rebuild and Reopen in Container

Запуск тестов
-------------

[](#запуск-тестов)

```
composer test
```

Публикация сообщений в RabbitMQ
-------------------------------

[](#публикация-сообщений-в-rabbitmq)

1. Необходимо указать подключение к RabbitMQ AMQP

Где `AMQP_EXCHANGE_NAME` имя общего обменника

```
AMQP_HOST=rabbitmq
AMQP_PORT=5672
AMQP_USER=root
AMQP_PASSWORD=root
AMQP_VHOST=/
AMQP_QUEUE_NAME=
AMQP_EXCHANGE_NAME=incoming_web
```

2. Отправка через Notification

Реализовать класс уведомления с каналом `RabbitmqChannel` или воспользоваться существующим классом `RabbitmqMessageNotification`

```
    use Kali\MessageBroker\Messages\Data\Test;
    use Kali\MessageBroker\Notifications\RabbitmqMessageNotification;

    $testData = new Test(email: "djoni@google.com", message: "Hello World!");
    $routing_key = "access" // очередь сервиса в который необходимо отправить сообщение. Роутинг настраивается через Exchange в админке RabbitMQ

    Notification::route("rabbitmq", $routing_key)->notify(
        new RabbitmqMessageNotification("TestJob", $testData->toResource())
    );
```

Получение сообщений из RabbitMQ
-------------------------------

[](#получение-сообщений-из-rabbitmq)

Для получения сообщений из Rabbitmq необходимо подключение и обработчик очереди `php artisan rabbitmq:consume`

1. Требуется дополнительная установка пакета [laravel-queue-rabbitmq](https://github.com/vyuldashev/laravel-queue-rabbitmq)
2. Необходимо указать подключение к rabbitmq и прослушиваемую очередь `RABBITMQ_QUEUE`

```
RABBITMQ_HOST=rabbitmq
RABBITMQ_PORT=5672
RABBITMQ_USER=root
RABBITMQ_PASSWORD=root
RABBITMQ_VHOST=/
RABBITMQ_QUEUE=access_queue
```

3. Добавить конфигурацию в `config/queue.php` (актуальная конфигурация в документации пакета)

```
        'rabbitmq_consumer' => [
            'driver' => 'rabbitmq',
            'queue' => env('RABBITMQ_QUEUE', 'default'),
            'connection' => PhpAmqpLib\Connection\AMQPLazyConnection::class,

            'hosts' => [
                [
                    'host' => env('RABBITMQ_HOST', '127.0.0.1'),
                    'port' => env('RABBITMQ_PORT', 5672),
                    'user' => env('RABBITMQ_USER', 'guest'),
                    'password' => env('RABBITMQ_PASSWORD', 'guest'),
                    'vhost' => env('RABBITMQ_VHOST', '/'),
                ],
            ],

            'options' => [
                'ssl_options' => [
                    'cafile' => env('RABBITMQ_SSL_CAFILE', null),
                    'local_cert' => env('RABBITMQ_SSL_LOCALCERT', null),
                    'local_key' => env('RABBITMQ_SSL_LOCALKEY', null),
                    'verify_peer' => env('RABBITMQ_SSL_VERIFY_PEER', true),
                    'passphrase' => env('RABBITMQ_SSL_PASSPHRASE', null),
                ],
                'queue' => [
                    'job' => \Kali\MessageBroker\Worker\ConsumeRabbitMQ::class,
                ],
            ],

            /*
             * Set to "horizon" if you wish to use Laravel Horizon.
             */
            'worker' => env('RABBITMQ_WORKER', 'default'),
        ],
```

4. Реализовать класс обработчика сообщений и указать его в конфигурации

```
    'queue' => [
        'job' => \Kali\MessageBroker\Worker\ConsumeRabbitMQ::class,
    ],
```

5. Выполнить `php artisan vendor:publish` и выбрать `Kali\MessageBroker\Providers\MsgServiceProvider`
6. Заполнить `config/message.php` для соотвествия имени входящего сообщения и выполнения требуемой задачи
7. Запустить обработчки `php artisan rabbitmq:consume rabbitmq_consumer`

> rabbitmq\_consumer - имя подключение в `config/queue.php`

###  Health Score

38

—

LowBetter than 85% of packages

Maintenance56

Moderate activity, may be stable

Popularity14

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity60

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~19 days

Recently: every ~8 days

Total

51

Last Release

289d ago

Major Versions

v1.0.12 → v2.0.02023-02-23

v2.0.8 → v3.0.02024-03-25

v3.4.7 → v4.0.02025-05-13

### Community

Maintainers

![](https://www.gravatar.com/avatar/db59a7357054f1b121d2da1830c05a3337c39b9b3dabef6dfdebacf8b34653a7?d=identicon)[a-mazalov](/maintainers/a-mazalov)

---

Top Contributors

[![Doclassif](https://avatars.githubusercontent.com/u/25744932?v=4)](https://github.com/Doclassif "Doclassif (12 commits)")[![a-mazalov](https://avatars.githubusercontent.com/u/21226623?v=4)](https://github.com/a-mazalov "a-mazalov (11 commits)")[![aavtukhovich](https://avatars.githubusercontent.com/u/41624598?v=4)](https://github.com/aavtukhovich "aavtukhovich (5 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/a-mazalov-kali-message-broker/health.svg)

```
[![Health](https://phpackages.com/badges/a-mazalov-kali-message-broker/health.svg)](https://phpackages.com/packages/a-mazalov-kali-message-broker)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
