anemaloy / laravel-kafka
laravel 的 Kafka 传输
dev-main
2023-11-09 17:33 UTC
Requires
- php: ^7.4 || ^8.2
- ext-json: *
- composer/semver: *
- m1x0n/opis-json-schema-error-presenter: ^0.5.2
- opis/json-schema: ^1.0
- ramsey/uuid: ^4.1
Requires (Dev)
- phpunit/phpunit: ^9.5 <= 9.5.16
- symfony/console: *
- symplify/easy-coding-standard: ^10.0
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'; } }
文档
- 事件命名和 JSON 方案放置规则在 Resources/docs/events.md 中描述。
- 有关 Apache Kafka 的工作信息在 Resources/docs/kafka.md 中。
- 该库的使用示例在 Resources/docs/examples 中。
开发规则
开发规则在 CONTRIBUTING.md 中描述。