prooph/event-store-client

异步 TCP 连接的事件存储客户端

v1.0.0-RC-1 2019-07-21 21:21 UTC

README

PHP 8.1 事件存储客户端实现。

Build Status Coverage Status Gitter

概述

Prooph 事件存储客户端支持通过 TCP 异步非阻塞通信与 EventStore

EventStoreConnection 在客户端和事件存储服务器之间维护一个全双工连接。

扩展

推荐使用 Google 的 protobuf 扩展,但不是必需的。

当缺少此扩展时,客户端将回退到使用通过 composer 可安装的 google/protobuf

allegro/php-protobuf 扩展不兼容。

如果您的应用程序需要大量并发套接字连接,则需要额外的扩展。

安装

客户端

您可以通过将 "prooph/event-store-client": "dev-master" 添加到 composer.json 中的需求来通过 composer 安装 prooph/event-store-client。

服务器

使用 docker

docker run --name eventstore-node -it -p 2113:2113 -p 1113:1113 eventstore/eventstore

请参阅 eventstore.org 的文档。

请参阅 服务器部分

在 docker 文件夹中,您将找到三个不同的 docker-compose 设置(单节点、3 节点集群和 3 节点 DNS 集群)。

快速入门

请参阅 examples 文件夹以获取简要概述。

单元测试

纯 PHP

运行带有内存数据库的服务器

注意:这是 Event Store 数据库的启动脚本,不是由该库提供的!

./run-node.sh --run-projections=all --mem-db

您需要忽略 ignore

./vendor/bin/phpunit --exclude-group=ignore

这些测试仅在针对空数据库运行时才有效,并且只能手动运行。

在下次运行之前,请重新启动服务器。这样,您始终可以从一个干净的服务器开始。

使用 Docker

请参阅:https://github.com/prooph/event-store-client/tree/master/docker/unittest

文档

文档在 prooph 网站 上。

支持

贡献

请随时 fork 并扩展现有的插件或添加新的插件,并通过带有您的更改的拉取请求发送!为了建立一致的代码质量,请为您的所有更改提供单元测试,并可能调整文档。

许可

New BSD 许可证 下发布。