edgetelemetrics/eventcorrelation

PHP事件流关联引擎

v0.6.5 2024-07-19 01:58 UTC

README

FOSSA Status GitHub

PHP事件关联器是一个用于处理事件流、根据规则集做出决策并基于这些规则执行操作的关联工具。

事件关联在许多领域都很有用。例如,日志处理、微服务协调、物联网事件处理。

PHP-EC已在多个物联网项目中投入生产使用,一些系统每天处理来自多个不同系统的1,000万+事件。

需求

该软件包与PHP 8.0+兼容

安装

您可以使用 Composer 将库添加为项目依赖项

composer require edgetelemetrics/eventcorrelation

通过安装可选的PHP扩展(ext-libuv或ext-libev)可以提高性能

示例

请参阅 /examples 目录

入门指南

待补充。

组件包括

  • 事件:事件由类型、日期、id和数据组成

  • 事件流:事件的时间序列流

  • 输入处理:提供事件流到PHP-EC的程序。这些可以是PHP脚本、NodeJS、Bash脚本等。

  • 操作:在请求时执行任务的程序。这可能包括写入数据库、发送电子邮件等。

  • 规则:规则定义了在定义的时间段内要处理的事件集。一旦匹配到规则或超过定义的超时时间,规则可以

    • 执行操作(例如发送电子邮件、写入数据库)
    • 发出事件(发出新事件或修改事件以供其他规则处理[规则链)
    • 运行额外的输入处理(将更多数据加载到系统中)

类似Cron的规则

PHP-EC支持可以基于Cron时间表达式调用操作的规则,以及系统启动和系统关闭。

许可证

MIT,请参阅 LICENSE文件

FOSSA Status

贡献

可以通过问题跟踪器提交错误报告(以及小补丁)。对于实质性的补丁,更喜欢从仓库分叉并提交拉取请求。