anemaloy/laravel-kafka

laravel 的 Kafka 传输

dev-main 2023-11-09 17:33 UTC

This package is auto-updated.

Last update: 2024-09-09 19:13:46 UTC


README

该库旨在通过 Apache Kafka 以 JSON 格式传输事件。

该库执行事件数据的序列化和反序列化,发布和从 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 中描述。