
rulego
活跃·★ 1.6k·Apache-2.0·更新于 2026-10-19
★ 必备神器★ 时下流行
RuleGo 是一个基于 Go 语言构建的轻量级、高性能、可嵌入组件化规则引擎与工作流编排框架。它没有任何外部中间件强依赖,既可以通过 `go get github.com/rulego/rulego` 直接嵌入现有 Go 应用内部运行,也可以作为独立网关或编排中间件部署,甚至运行在低算力的物联网边缘设备上。
开发者通过 JSON 格式的规则链 DSL 即可将消息类型路由、JavaScript 脚本过滤/转换、HTTP/MQTT/Kafka 推送、数据库操作以及大模型(LLM)调用组装为可复用的业务流水线。借助协程池、对象池、上下文隔离与 AOP 切面机制,RuleGo 支持在不重启主程序的情况下热更新规则链与动态加载 Go 插件。
指南
Apache-2.0来源:GitHub、npm 和 PyPI 的公开接口。
#规则引擎#Go语言#工作流编排#物联网#边缘计算
01
功能特性
01轻量级:无外部中间件依赖,高效适用于物联网边缘计算。
02高性能:利用 Go 语言特性并采用协程池、对象池等技术。
03双模式:支持嵌入式和独立部署两种模式。
04组件化:业务逻辑以组件形式封装,可灵活配置复用。
05工作流编排:动态编排规则链,无需重启应用即可调整业务逻辑。
02
为什么选择它
+零外部中间件依赖,二进制体积小、资源占用低,既能嵌入 Go 单体应用也能部署在边缘网关。
+支持通过 JSON DSL 动态热更新规则链与子规则链嵌套,修改业务编排逻辑无需重启服务。
+内置 HTTP、MQTT、Kafka、TCP/UDP、定时任务等丰富 Endpoint 与 JavaScript 转换节点,易于对接第三方系统与大模型接口。
03
权衡点
!核心 SDK 面向 Go 语言生态,其他语言团队主要通过独立部署模式及 JSON DSL 进行对接。
!当规则链高度复杂且大量混用内嵌 JavaScript 脚本节点时,调试与类型检查体验不如原生编译代码直观。
05
维护状况检查
活跃检查日期: 2026-10-19
- 最近提交
- 2026-10-19
- 近 90 天提交数
- 100+
- 近 90 天发布数
- 2
- 最新发布
- v1.0.0 (2026-10-19)
- 未关闭 issue
- 4
- 近期 issue 至少有一条评论的比例
- 20/24
近 12 周每周提交数
最早的一周在左边,最近 4 周为橙色。数据来源:GitHub 提交统计。
状态规则:GitHub 上已归档 = 已归档;最近提交在 90 天内 = 活跃;91 到 365 天 = 放缓;更久 = 停滞。所有数字来自所示日期的 GitHub API。
04
适合谁
适合选它的情况
- 你需要一个零外部中间件依赖、可直接嵌入 Go 二进制程序或运行在物联网边缘设备上的轻量级规则与工作流引擎。
- 希望在不重启主进程的情况下动态热更新 JSON 规则链,串联 HTTP、MQTT、Kafka、TCP/UDP 与大模型接口。
建议换别的情况
- 需要跨节点崩溃自动重放状态的分布式数据库级持久化执行引擎;Temporal 或 Conductor 是为此设计的。
- 团队需要带数百个 SaaS OAuth 连接器的可视化办公自动化工具;应选择 n8n 或 Activepieces。
06
与同类的区别
RuleGo 是零外部中间件依赖的超轻量 Go 嵌入式/独立规则引擎,适合边缘计算与应用内解耦;Conductor 则是重量级的 Java 21+ 分布式工作流服务端。
完整横向对比 →RuleGo 可直接嵌入 Go 服务内部,通过 JSON 规则链高并发处理 MQTT/HTTP/TCP 数据流;n8n 是独立部署的 Node.js 可视化工作流平台。
完整横向对比 →08
快速开始
1
$ go get github.com/rulego/rulego
09
使用场景
↳边缘计算:在边缘服务器上预处理、过滤、聚合数据。
↳物联网:收集设备数据、进行规则判断并触发告警、联动等动作。
↳应用集成:连接各种系统或协议,如 SSH、Kafka、数据库、ChatGPT。
19 条评论 · 2024-06-12
issue 标题引自 GitHub。请打开链接确认该问题是否仍适用于你使用的版本。
dbos-transact-golang
★860
→
07
兼容性
在 DigitalOcean 上一键部署
为你的 MCP 服务、Docker 容器与智能体提供即开即用云服务器,新用户立享 $200 免费额度(60天有效)。
立即领取 $200 免费额度