edgetelemetrics / eventcorrelation
PHP事件流关联引擎
v0.6.5
2024-07-19 01:58 UTC
Requires
- php: ^8.0
- ext-json: *
- ext-pcntl: *
- clue/ndjson-react: ^1.2.0
- edgetelemetrics/php-json-rpc: ^1.2.0
- evenement/evenement: ^3.0.1
- psr/log: ^1.0.1
- react/child-process: ^0.6.5
- react/event-loop: ^1.3.0
Requires (Dev)
- bref/logger: *
- dragonmantank/cron-expression: *
- enlightn/security-checker: ^1.9
- nikic/fast-route: *
- nikic/php-parser: ^4.12
- phpstan/phpstan: *
- react/http: ^1.5.0
- react/socket: ^1.9.0
- vimeo/psalm: ^4.10
Suggests
- ext-libev: Use the libev backend to improve performance of the event loop
- ext-libuv: Use the libuv backend to improve performance of the event loop
- ext-zend-opcache: OPCache greatly increases performance and reduces memory usage
- dragonmantank/cron-expression: Schedule rules using Cron like expressions
- edgetelemetrics/timebucket: Process temporal data in descrete time slices
- nikic/fast-route: Required for Management server
- react/http: Required for Management server
- react/socket: Required for Management server
This package is auto-updated.
Last update: 2024-09-19 03:24:15 UTC
README
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文件。
贡献
可以通过问题跟踪器提交错误报告(以及小补丁)。对于实质性的补丁,更喜欢从仓库分叉并提交拉取请求。