RuleGo RuleGo
🏠首页
  • 快速入门
  • 规则链
  • 标准组件
  • 扩展组件
  • 自定义组件
  • 可视化
  • RuleGo-Server
  • AOP
  • 触发器
  • 高级主题
  • 性能
  • 标准组件
  • 扩展组件
  • 自定义组件
  • 流式计算
  • 组件市场
  • 概述
  • 快速入门
  • 路由
  • DSL
  • API
  • Options
  • 组件
🔥编辑器 (opens new window)
  • 可视化编辑器 (opens new window)
  • RuleGo-Server (opens new window)
  • 🌊StreamSQL
  • 🤖智能体框架
  • 🌬️GFlow 审批工作流 (opens new window)
  • 🦀TPCLAW 智能体平台 (opens new window)
  • ❓问答

    • FAQ
💖支持
👥加入社区
  • Github (opens new window)
  • Gitee (opens new window)
  • GitCode (opens new window)
  • 更新日志 (opens new window)
  • English
  • 简体中文
🏠首页
  • 快速入门
  • 规则链
  • 标准组件
  • 扩展组件
  • 自定义组件
  • 可视化
  • RuleGo-Server
  • AOP
  • 触发器
  • 高级主题
  • 性能
  • 标准组件
  • 扩展组件
  • 自定义组件
  • 流式计算
  • 组件市场
  • 概述
  • 快速入门
  • 路由
  • DSL
  • API
  • Options
  • 组件
🔥编辑器 (opens new window)
  • 可视化编辑器 (opens new window)
  • RuleGo-Server (opens new window)
  • 🌊StreamSQL
  • 🤖智能体框架
  • 🌬️GFlow 审批工作流 (opens new window)
  • 🦀TPCLAW 智能体平台 (opens new window)
  • ❓问答

    • FAQ
💖支持
👥加入社区
  • Github (opens new window)
  • Gitee (opens new window)
  • GitCode (opens new window)
  • 更新日志 (opens new window)
  • English
  • 简体中文

广告采用随机轮播方式显示 ❤️成为赞助商
  • 快速入门

  • 规则链

  • 标准组件

  • 扩展组件

  • 自定义组件

  • 组件市场

  • 可视化

  • AOP

  • 触发器

  • 高级主题

  • 智能体框架

  • RuleGo-Server

  • 问题

    • 关于规则引擎执行中断恢复
    • FAQ
      • 注册gRPC反射服务示例
    目录

    FAQ

    # RuleGo 常见问题解答 (FAQ)

    # 1. 如何限制规则链的并发处理数据?

    使用内置 LimiterAspect 来限制规则链的并发执行,示例代码如下:

    ruleEngine, err := rulego.New(chainId, ruleFile, types.WithAspects(aspect.NewConcurrencyLimiterAspect(1)))
    
    1

    # 2. 关于规则引擎执行中断恢复?

    详情参考:关于规则引擎执行中断恢复

    # 3. 其他语言怎样使用RuleGo?

    使用RuleGo-Server ,先把RuleGo-Server 作为中间件独立运行,然后使用API(文档 (opens new window) ) 来执行或者执行指定规则链

    # 4. 规则链可视化?

    我们提供了RuleGo-Editor作为规则链可视化工具,详情参考:RuleGo-Editor

    # 5. endpoint组件和节点组件(普通组件)有什么区别?

    对比项 endpoint组件 节点组件
    位置 规则链之外,负责接收外部数据并触发规则链 规则链之内,负责处理链上流转的消息
    方向 只有输出(把外部数据转成消息交给规则链),不能作为链的中间节点 有输入有输出,通过 Relation Type 连接上下游
    典型代表 endpoint/rest、endpoint/mqtt、endpoint/kafka、endpoint/schedule jsFilter、jsTransform、restApiCall、mqttClient

    简言之:endpoint 是消息的入口(触发器),节点组件是消息在链上的加工器。endpoint 详见 Endpoint 模块。

    # 6. 提示 component not found: xxx 怎么办?

    规则链 DSL 里的 type 在组件注册表中找不到。常见原因:

    • 该组件属于扩展组件库(rulego-components 等),内置注册表不含它,需要 import _ "github.com/rulego/rulego-components/xxx" 引入注册,或改用内置了全部扩展组件的 RuleGo-Server
    • type 名拼写错误(区分大小写),可在标准组件列表核对

    # 7. jsTransform 转换后消息没有变化?

    jsTransform 等脚本转换组件要求脚本 return 一个包含 msg、metadata、msgType 的对象,只修改 msg 不返回是无效的:

    msg.temperature = msg.temperature / 10;
    return {'msg': msg, 'metadata': metadata, 'msgType': msgType};
    
    1
    2

    # 8. endpoint 启动报端口被占用?

    同一地址只能被一个服务监听。检查 config.conf 或 endpoint 配置里的端口(如 http 的 server: ":9090")是否与其他进程或另一条规则链的 endpoint 冲突,改端口或释放端口后重启。

    # 9. 热更新规则链不生效?

    ReloadSelf 的入参是完整的规则链 DSL,不是增量片段,未包含的节点和连接会被删除;另外确认修改的是通过 rulego.Get(id) 取到的同一个实例。详见动态刷新。

    # 10. 打不开可视化编辑器(404)?

    编辑器内置在 rulego-server-all-* 发布包中,纯后端包 rulego-server-* 不含。请下载 -all 包,或参考安装与部署单独安装编辑器。

    # 11. 外部系统如何触发一条规则链?

    三种常用方式:

    • 在规则链 DSL 的 metadata.endpoints 配置触发器(http/mqtt/kafka/schedule 等),详见 Endpoint DSL
    • 通过 REST API 直接提交消息执行,详见执行规则链
    • 代码方式:ruleEngine.OnMsg(msg) 把消息交给引擎,见快速开始
    在 GitHub 上编辑此页 (opens new window)
    上次更新: 2026/09/12, 16:59:03
    关于规则引擎执行中断恢复
    注册gRPC反射服务示例

    ← 关于规则引擎执行中断恢复 注册gRPC反射服务示例→

    Theme by Vdoing | Copyright © 2023-2026 RuleGo Team | Apache 2.0 License

    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式