RuleGo v0.12.0 正式发布:Go 语言的轻量级、高性能、嵌入式业务规则引擎
软件简介
RuleGo
是一个基于 Go
语言的轻量级、高性能、嵌入式的规则引擎。也一个灵活配置和高度定制化的事件处理框架。可以对输入消息进行过滤、转换、丰富和执行各种动作。
本项目很大程度受 thingsboard 启发。参考其规则链思想,但在架构上做了重大调整,来满足以下场景:
- 在资源占用和性能上做了很大程度优化,使其更适用边缘计算场景。
- 不停机、不需要重新编译,动态编排业务,满足高度定制化和高度变化的业务需求。
- 非侵入式嵌入到现有项目。
- 提供更加灵活的接口和回调钩子。
- 更加开放的组件生态。可以利用社区提供的组件或者把业务封装成组件,通过搭积木方式快速动态实现业务需求。
特性
- 开发语言:Go 1.8
- 轻量级:无外部中间件依赖,在低成本设备中也能高效对数据进行处理和联动,适用于物联网边缘计算。
- 高性能:得益于
Go
的高性能特性,另外RuleGo
采用协程池和对象池等技术。对 10W 条数据进行JS脚本过滤->JS脚本数据处理->HTTP推送
处理,平均用时 9 秒。 - 嵌入式:支持把
RuleGo
嵌入到现有项目,非入侵式利用其特性。 - 组件化:所有业务逻辑都是组件,并能灵活配置和重用它们。
- 规则链:可以灵活地组合和重用不同的组件,实现高度定制化和可扩展性的业务流程。
- 流程编排:支持对规则链进行动态编排,你可以把业务地封装成
RuleGo
组件,然后通过搭积木方式实现你高度变化的业务需求。 - 扩展简单:提供丰富灵活的扩展接口和钩子,如:自定义组件、组件注册管理、规则链 DSL 解析器、协程池、规则节点消息流入 / 流出回调、规则链处理结束回调。
- 动态加载:支持通过
Go plugin
动态加载组件和扩展组件。 - 内置常用组件:
消息类型Switch
,JavaScript Switch
,JavaScript过滤器
,JavaScript转换器
,HTTP推送
,MQTT推送
,发送邮件
,日志记录
等组件。可以自行扩展其他组件。 - 上下文隔离机制:可靠的上下文隔离机制,无需担心高并发情况下的数据串流。
支持规则链类型:
顺序执行:
异步+顺序执行:
使用子规则链方式:
一些复杂例子:
快速上手:

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Dante OSS 1.2.0 发布,借鉴 JPA 标准化思想提取共性定义
简介 | Intro Dante OSS 是一款简化 Minio 操作的开源框架。通过对原有 Minio Java SDK 的深度封装,简化 Minio API 使用复杂度,更方便的实现复杂的 Minio 管理操作,降低 Minio 应用开发门槛。 MinIO 是一款高性能、分布式的对象存储系统。Minio 这款开源的分布式对象存储服务在国外已经相当受欢迎,并且国内也有多中小型互联网公司使用它来作为对象存储服务。虽然 Minio 相关的资料和示例在网络上已经非常丰富,但是为什么还要推出 Dante OSS 这样的项目? 初次接触 Minio,特别是想要通过 Java 集成 Minio 开发对象存储应用是,还是需要投入一定的时间和精力去了解其原理阅读相关文档。 Minio SDK 中的函数方法,涉及的参数较多,抽象层度比较高,每次使用都需要反复查阅源代码才能摸清具体使用方式。 想要与已有的应用进行整合,多少都要投入时间精力,进行一定程度的封装和改造。 网上相关资料多,要么比较零散不成体系,要么比较单一仅针对常规上传下载应用,Minio 自身很多特性都不涉及。 设计 | Design th...
- 下一篇
MySQL 备份思路整合工具
通过go封装的一套基于MySQL备份的思路工具,可以实现以下内容: Backup_Mysqldump_All 该程序为mysqldump原生的全库数据库备份程序。 Backup_Mysqldump_One 该程序为mysqldump原生的单个数据库备份程序。 3. Backup_Mydumper_MultiThread_Database_All 该程序为多线程全量数据库备份程序 4. Backup_Mydumper_MultiThread_Database_One 该程序为多线程单库全量数据库备份程序 5. Backup_XtraBackup_add 该程序为XtraBackup增量备份程序,用于提供MySQL数据库的全量+增量备份程序 全量 增量 单库备份 多库备份 全库备份 binlog备份 文件备份 应该差不多能覆盖所有的MySQL备份需求了吧。 具体来项目查看readme.md 欢迎star 因为用到的都是开源的技术整理了一下也算是回馈开源 也是第一次回馈开源 GitHub链接:https://github.com/heike-07/Backup-tools gitee链接:...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Linux系统CentOS6、CentOS7手动修改IP地址
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS关闭SELinux安全模块
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Hadoop3单机部署,实现最简伪集群
- CentOS6,7,8上安装Nginx,支持https2.0的开启