RuleGo 是一个基于 Go 语言的轻量级、高性能、嵌入式的规则引擎。也一个灵活配置和高度定制化的事件处理框架。可以对输入消息进行过滤、转换、丰富和执行各种动作。
RuleGo
Go
本项目很大程度受 thingsboard 启发。参考其规则链思想,但在架构上做了重大调整,来满足以下场景:
JS脚本过滤->JS脚本数据处理->HTTP推送
Go plugin
消息类型Switch
JavaScript Switch
JavaScript过滤器
JavaScript转换器
HTTP推送
MQTT推送
发送邮件
日志记录
顺序执行:
异步+顺序执行:
使用子规则链方式:
一些复杂例子:
快速上手:
Gitee
Github
评论删除后,数据将无法恢复
RuleGo v0.12.0 正式发布:Go 语言的轻量级、高性能、嵌入式业务规则引擎
软件简介
RuleGo是一个基于Go语言的轻量级、高性能、嵌入式的规则引擎。也一个灵活配置和高度定制化的事件处理框架。可以对输入消息进行过滤、转换、丰富和执行各种动作。本项目很大程度受 thingsboard 启发。参考其规则链思想,但在架构上做了重大调整,来满足以下场景:
特性
Go的高性能特性,另外RuleGo采用协程池和对象池等技术。对 10W 条数据进行JS脚本过滤->JS脚本数据处理->HTTP推送处理,平均用时 9 秒。RuleGo嵌入到现有项目,非入侵式利用其特性。RuleGo组件,然后通过搭积木方式实现你高度变化的业务需求。Go plugin动态加载组件和扩展组件。消息类型Switch,JavaScript Switch,JavaScript过滤器,JavaScript转换器,HTTP推送,MQTT推送,发送邮件,日志记录等组件。可以自行扩展其他组件。支持规则链类型:
顺序执行:
异步+顺序执行:
使用子规则链方式:
一些复杂例子:
快速上手:
Gitee
Github