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
  • 简体中文

广告采用随机轮播方式显示 ❤️成为赞助商
  • Endpoint概述
    • 为什么需要 Endpoint
    • Endpoint 与规则链的关系
    • 内置 Endpoint 类型
    • 学习路径
  • 快速入门
  • 路由
  • DSL
  • API
  • Options
  • 组件

目录

Endpoint概述

Endpoint 是一个用来抽象不同输入源数据和路由的模块,针对不同协议提供一致的使用体验,它是RuleGo一个可选模块,能让RuleGo实现独立运行提供服务的能力。

它可以让你方便地创建和启动不同的接收服务,如http、mqtt、kafka、gRpc、websocket、schedule、tcp、udp等,实现对异构系统数据集成,然后根据不同的请求或消息,进行转换、处理、流转等操作,最终交给规则链或者组件处理。

img

Endpoint 架构图

# 为什么需要 Endpoint

没有 Endpoint 时,规则链是「被动」的:你必须在自己的代码里监听端口、订阅主题,收到数据后手动调用 ruleEngine.OnMsg(msg) 把消息喂给规则链。接入一种新协议,就要重写一遍这段胶水代码。

Endpoint 把这部分胶水代码标准化了:

  • 声明式接入:在规则链 DSL 的 metadata.endpoints 里配置「监听什么地址/主题、交给哪个链处理」,部署规则链即自动启动对应的接收服务,无需写任何监听代码
  • 统一的路由模型:不同协议都抽象成 From(来源) → Process(处理) → To(目标) 的路由器,会用 http endpoint 就会用所有 endpoint
  • 统一的消息封装:不管来源是 MQTT 消息还是 HTTP 请求,进入规则链的都是标准的 RuleMsg(负荷 + 元数据 + 消息类型),链上的组件无感知

# Endpoint 与规则链的关系

外部系统                Endpoint 模块                  规则链
───────    ─────────────────────────────    ─────────────────
MQTT Broker ──订阅主题──► ┐
HTTP 客户端 ──请求路径──►  ├─ Router 路由匹配 ─► 转成 RuleMsg ─► 节点s1 → 节点s2 → ...
定时(cron)  ──到点触发──► ┤
TCP/UDP   ──报文到达──►  ┘
1
2
3
4
5
6
  • Endpoint 负责「收消息、触发链」;规则链负责「处理消息」
  • 一个 Endpoint 可以包含多条路由(Router),不同路径/主题可以路由到不同的规则链
  • 规则链也可以不配 Endpoint,继续作为被动引擎由代码或 REST API 触发

# 内置 Endpoint 类型

类型 用途
endpoint/rest HTTP 服务,接收 REST 请求
endpoint/websocket WebSocket 服务
endpoint/mqtt 订阅 MQTT 主题
endpoint/kafka / nsq / pulsar / rabbitmq / nats / beanstalkd 订阅各类消息队列
endpoint/schedule cron 定时触发
endpoint/net / net client TCP/UDP 服务端 / 客户端
endpoint/websocket client WebSocket 客户端
endpoint/redisSub / redisStream 订阅 Redis 频道 / 消费 Redis Stream
endpoint/mysqlCdc MySQL binlog 变更捕获
endpoint/opcua OPC UA 订阅
endpoint/grpcStream gRPC 流

各类型的配置项与完整示例见左侧边栏「组件」目录下对应的组件页。

# 学习路径

  1. 快速入门:用代码方式创建 endpoint、注册路由并启动
  2. Endpoint DSL:在规则链 JSON 里声明触发器(推荐方式)
  3. 路由:Router 的 From/Process/To 与跨链路由
  4. Options:全局与路由级选项(跨域、TLS、拦截器等)
在 GitHub 上编辑此页 (opens new window)
上次更新: 2026/09/12, 16:59:03
快速入门

快速入门→

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

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