# 《AI MCP Gateway 网关服务系统》第3-3节:会话接口编排

作者:小傅哥
博客:https://bugstack.cn (opens new window)
视频:https://t.zsxq.com/c0ZDk (opens new window)

大家好,我是技术UP主小傅哥。

# 一、本章诉求

定义 mcp 通信协议会话服务接口,并在 case 层做领域服务的编排,为接口提供服务能力。

# 二、功能设计

如图,会话服务编排接口;

  • 首先,这一节我们的主要定义并实现 mcp 服务,sse 请求接口,创建会话信息。地址案例:http://localhost:8777/api-gateway/test10001/mcp/sse?api_key=xxx

    • test10001 - 是每个MCP网关,申请获得的唯一标识ID
    • mcp/sse - 是固定的接口格式,让使用方知道这是 mcp 服务,sse 通信协议。
    • api_key - 是一个服务网路请求时候的安全校验,确保是你申请了唯一的key,才可以访问的。这部分鉴权的操作,会放到后续实现。
  • 之后,这里我们会看到 trigger 层是实现 MCP 服务接口,接口的实现,需要调用 domain 领域层(domain 是每一个内聚的服务方法)。而为了减轻 trigger 层的编码压力,这里我们引入下 case 层,来处理 trigger 层调用 domain 领域层所做的编排动作。让 trigger 层只负责一个接口的封装操作,如;日志打印、参数校验、对象转换、异常处理、结果封装,而具体的逻辑则有 case 层承接。

  • 注意,case 层的编排操作,会采用星球中的扳手工程项目下的设计模式框架中的规则树,这个规则树非常适合节点的编排,对于流程的解耦非常有效。

在互联网大厂中,会有很多这样的解耦设计,架构也不是一成不变的。这些东西都会随着各种业务的迭代,不断的进行演进。所以,做为编码工程师,未来的架构师,都要大量的吸收这些编码设计经验。