RuleGo RuleGo
🏠首页
  • 快速入门
  • 规则链
  • 标准组件
  • 扩展组件
  • 自定义组件
  • 可视化
  • RuleGo-Server
  • RuleGo-MCP-Server
  • AOP
  • 触发器
  • 高级主题
  • 性能
  • 标准组件
  • 扩展组件
  • 自定义组件
  • 组件市场
  • 概述
  • 快速入门
  • 路由
  • DSL
  • API
  • Options
  • 组件
🔥编辑器 (opens new window)
  • 可视化编辑器 (opens new window)
  • RuleGo-Server (opens new window)
  • ❓问答

    • FAQ
💖支持
👥加入社区
  • Github (opens new window)
  • Gitee (opens new window)
  • GitCode (opens new window)
  • 更新日志 (opens new window)
  • English
  • 简体中文
🏠首页
  • 快速入门
  • 规则链
  • 标准组件
  • 扩展组件
  • 自定义组件
  • 可视化
  • RuleGo-Server
  • RuleGo-MCP-Server
  • AOP
  • 触发器
  • 高级主题
  • 性能
  • 标准组件
  • 扩展组件
  • 自定义组件
  • 组件市场
  • 概述
  • 快速入门
  • 路由
  • DSL
  • API
  • Options
  • 组件
🔥编辑器 (opens new window)
  • 可视化编辑器 (opens new window)
  • RuleGo-Server (opens new window)
  • ❓问答

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

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

  • 规则链

    • 规则链概述
      • 核心概念
      • RuleGo 规则链优势
      • 规则链运行模式
    • 规则链
    • 消息
    • 规则节点
    • Relation Type
  • 标准组件

  • 扩展组件

  • 自定义组件

  • 组件市场

  • 可视化

  • AOP

  • 触发器

  • 高级主题

  • RuleGo-Server

  • 问题

目录

规则链概述

规则链是 RuleGo 的核心概念,它是由多个规则节点组成的有向无环图,每个规则节点都是一个组件,可以实现不同的业务逻辑,节点与节点通过关系类型(relation type)进行连接。规则链可以动态配置和修改,支持嵌套和编排,实现复杂的业务流程。

# 核心概念

规则链主要包含以下几个核心概念:

  • 规则链: 是规则节点及其关系的逻辑组合,它定义了一个完整的业务流程。规则链可以接收来自不同数据源的消息,并根据规则节点的类型和配置,将消息发送到下一个或多个连接的规则节点。规则链支持嵌套和编排,可以构建复杂和灵活的业务逻辑。

  • 消息: 传入规则链的输入和输出数据或者事件,它允许被节点组件转换、过滤和分发。消息由三个主要部分组成:

    • 消息负荷(msg):可以是任意类型的数据内容
    • 元数据(metadata):包含额外的上下文信息,如目标设备信息等
    • 消息类型(msgType):用于区分不同的事件类型
  • 规则节点: 规则链的基本组件,是实现了特定业务逻辑的处理单元。规则节点可以:

    • 对传入的消息进行过滤、转换、数据丰富
    • 执行具体的业务动作
    • 通过配置参数来调整其行为和输出
  • Relation Type: 节点之间的连接关系类型,决定消息在规则链中的路由路径。不同类型的组件提供不同的关系类型:

    • Filter类组件:True/False/Failure
    • Action类组件:Success/Failure
    • 路由类组件:支持通过脚本动态控制路由或根据msgType实现复杂的路由逻辑

# RuleGo 规则链优势

相对于传统规则引擎,RuleGo 采用了基于规则链的可编排组件式规则引擎模式,具有以下显著优势:

  • 简单性

    • 使用 JSON 配置规则链,无需专门的规则语言或 DSL
    • 使用常见的数据结构和语法
    • 易于定义和修改规则链
  • 高效性

    • 采用有向无环图表示规则链
    • 消息按图路径单向处理,无需匹配所有规则
    • 显著提升处理效率,节省资源
  • 灵活性

    • 支持动态配置和热更新规则链
    • 无需重启应用即可更新规则
    • 适应快速变化的业务需求

# 规则链运行模式

RuleGo支持多种灵活的规则链运行模式:

  1. 串行模式
    • 消息按顺序依次经过多个节点处理
    • 适合有明确处理顺序的场景
  1. 并行模式
    • 消息同时发送给多个节点并行处理
    • 适合需要同时处理的独立任务
  1. 并行+串行混合模式
    • 结合并行和串行处理的优势
    • 通过子规则链实现复杂流程
  1. 混合模式
    • 灵活组合多种处理模式
    • 满足复杂的业务场景需求
  1. 嵌套子规则链模式
    • 支持规则链的嵌套复用
    • 提高规则链的可维护性和重用性
  1. 多层嵌套模式
    • 支持多层级的规则链嵌套
    • 实现更复杂的业务流程编排
在 GitHub 上编辑此页 (opens new window)
上次更新: 2025/05/12, 13:50:11
动态刷新规则链
规则链

← 动态刷新规则链 规则链→

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

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