RuleGo v0.12.0 正式发布:Go 语言的轻量级、高性能、嵌入式业务规则引擎

RuleGo是一个轻量级、高性能的Go语言规则引擎,适用于边缘计算。它支持动态编排、组件化设计,允许在不重启的情况下调整业务流程。通过JavaScript脚本处理数据,并提供HTTP、MQTT等多种组件,实现灵活的数据过滤、转换和推送。此外,还具备上下文隔离机制,确保高并发下的数据安全。
摘要由CSDN通过智能技术生成

RuleGo 是一个基于 Go 语言的轻量级、高性能、嵌入式的规则引擎。也一个灵活配置和高度定制化的事件处理框架。可以对输入消息进行过滤、转换、丰富和执行各种动作。

本项目很大程度受 gnss 启发。参考其规则链思想,但在架构上做了重大调整,来满足以下场景:

  • 在资源占用和性能上做了很大程度优化,使其更适用边缘计算场景。
  • 不停机、不需要重新编译,动态编排业务,满足高度定制化和高度变化的业务需求。
  • 非侵入式嵌入到现有项目。
  • 提供更加灵活的接口和回调钩子。
  • 更加开放的组件生态。可以利用社区提供的组件或者把业务封装成组件,通过搭积木方式快速动态实现业务需求。

特性


  • 开发语言:Go 1.8
  • 轻量级:无外部中间件依赖,在低成本设备中也能高效对数据进行处理和联动,适用于物联网边缘计算。
  • 高性能:得益于 Go 的高性能特性,另外 RuleGo 采用协程池和对象池等技术。对 10W 条数据进行 JS脚本过滤->JS脚本数据处理->HTTP推送 处理,平均用时 9 秒。
  • 嵌入式:支持把 RuleGo 嵌入到现有项目,非入侵式利用其特性。
  • 组件化:所有业务逻辑都是组件,并能灵活配置和重用它们。
  • 规则链:可以灵活地组合和重用不同的组件,实现高度定制化和可扩展性的业务流程。
  • 流程编排:支持对规则链进行动态编排,你可以把业务地封装成 RuleGo 组件,然后通过搭积木方式实现你高度变化的业务需求。
  • 扩展简单:提供丰富灵活的扩展接口和钩子,如:自定义组件、组件注册管理、规则链 DSL 解析器、协程池、规则节点消息流入 / 流出回调、规则链处理结束回调。
  • 动态加载:支持通过 Go plugin 动态加载组件和扩展组件。
  • 内置常用组件:消息类型Switch,JavaScript Switch,JavaScript过滤器 ,JavaScript转换器 ,HTTP推送MQTT推送发送邮件日志记录 等组件。可以自行扩展其他组件。
  • 上下文隔离机制:可靠的上下文隔离机制,无需担心高并发情况下的数据串流。

支持规则链类型:

顺序执行:


异步 + 顺序执行:


使用子规则链方式:


一些复杂例子:

flannel_v0.12.0-amd64.tar是一个压缩文件,它是Flannel网络插件的一个版本。Flannel是一个用于容器网络的项目,旨在为容器提供可扩展、可靠和高性能的网络解决方案。 通过下载和解压flannel_v0.12.0-amd64.tar文件,可以获取Flannel v0.12.0版本的相关文件和组件。其中,v0.12.0表示这是Flannel的第12个主要发布版本,同时带有一些修复和改进的功能。 在这个压缩包中,可能包含了Flannel执行文件、配置文件、相关的文档和依赖库等。可以使用tar命令进行解压,并按照Flannel的文档进行安装、配置和使用。 Flannel的主要功能是为Kubernetes集群中的容器提供网络功能。它通过为每个节点分配一个唯一的子网,并管理容器和虚拟机之间的网络通信,实现了容器之间的网络隔离和跨主机通信。 在Flannel中,网络地址分配使用了不同的网络后端,例如VXLAN和Host-Gateway等。这些后端提供了不同的网络模式和策略,以适应不同的使用场景和网络环境。 通过安装和配置Flannel,可以使得容器能够通过内部的虚拟网络与其他容器进行通信,同时能够与外部网络进行连接。这为容器的网络部署和管理提供了便利和灵活性。 总之,flannel_v0.12.0-amd64.tar是Flannel网络插件的一个版本压缩文件,通过下载和解压可以获取Flannel v0.12.0版本的相关文件和组件,用于为容器提供可靠和高性能的网络解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值