跳到主要内容

公共路由模型

Monoceros 的一个核心设计,是让多个系统共享同一种“命中后执行什么”的模型。

统一的三路结构

当前分发器、调度、命令、数据包系统,都可以把执行目标抽象为三类:

路由说明
script执行脚本
workflow / action执行动作工作流
handler执行强类型处理器

这套设计的好处

1. 入口不同,执行目标可以复用

同一个脚本或工作流,可以被不同入口调用:

  • 命令触发
  • 事件触发
  • 调度触发
  • 数据包触发

2. 学会一套,就能通吃多个系统

你一旦理解了 script / workflow / handler 三种路由,就不需要为每个模块重新学一套配置逻辑。

3. 更容易拆分职责

  • 入口层负责“什么时候触发”
  • 路由层负责“把执行权交给谁”
  • 脚本或工作流负责“真正做什么”

CommandService 的位置

命令系统自己的公共服务入口叫 CommandService。它负责:

  • 注册命令定义
  • 卸载命令定义
  • 重载命令定义

同时,命令上下文会把:

  • 发送者
  • 原始参数
  • 解析后的参数
  • 命中的命令路径

统一整理后交给路由目标。

什么时候用哪种路由

  • 绝大多数服主配置:优先 script
  • 需要多步编排、等待、分支:选 workflow
  • 需要高级扩展或内建逻辑:再考虑 handler

如果你已经理解这页,再去看 ../command/routes.md../dispatcher/definition.md../schedule/definition.md../wireshark/definition.md,会轻松很多。