Looking to hire Laravel developers? Try LaraJobs

laravel-kafka maintained by anemaloy

Description
Kafka transport for laravel
Last update
2023/11/09 18:33 (dev-main)
License
Links
Downloads
2

Comments
comments powered by Disqus

kvarta-shared/event-collaboration

Библиотека предназначена для передачи событий в формате JSON через Apache Kafka.

Библиотека выполняет сериализацию и десериалзиацию данных событий, публикацию и чтение событий из топиков Kafka, а также валидацию данных событий на основе JSON-схемы.

Установка

Для установки kvarta-shared/event-collaboration необходимо подключить composer-репозиторий и затем установить пакет стандартным способом:

$ composer config repositories.git.structure.pik-broker.ru/231 '{"type": "composer", "url": "https://git.structure.pik-broker.ru/api/v4/group/231/-/packages/composer/packages.json"}'
$ composer require kvarta-shared/event-collaboration

Создание каталога событий

Для хранения каталога событий рекомендуется создать отдельный пакет composer с зависимостью от kvarta-shared/event-collaboration.

Каталог событий должен содержать в себя одну или несколько директорий со схемами событий в формате JSON, каждая директория соответствует префиксу URI схем в этой директории.

Также стоит включить в каталог событий phpunit тест существующих схем:

<?php

namespace PikBroker\MySchemaCatalog\Tests\Functional;

use Anemaloy\KafkaLocator\Tests\Functional\AbstractCheckJsonFilesTest;

class CheckJsonFilesTest extends AbstractCheckJsonFilesTest
{

    protected function getEventDirectories(): iterable
    {
        yield 'https://foo.domain.org/' => __DIR__ . '/../../Resources/events/foo.domain.org';
        yield 'https://bar.domain.org/' => __DIR__ . '/../../Resources/events/bar.domain.org';
    }
}
 

Документация

Правила разработки

Правила разработки описаны в CONTRIBUTING.md.