avatar
文章
69
标签
22
分类
16

首页
归档
标签
分类
列表
  • 音乐
  • 电影
  • 图库
友链
关于
JJXxXLL
首页
归档
标签
分类
列表
  • 音乐
  • 电影
  • 图库
友链
关于

JJXxXLL

AI MCP Gateway-消息协议处理案例
发表于2026-02-14|AI Engineering|MCP
MCP 网关开发实战:从协议框架到完整消息处理(3-4 → 3-5 分支演进)前言在前一阶段(3-4 分支)中,我们完成了 MCP(Model Context Protocol)网关的基础框架搭建,包括会话管理、SSE 通信通道和消息路由机制。但所有的消息处理器(Handler)都还是空实现。本文将详细介绍 3-5 分支 如何将这个框架完善为一个功能完整的 MCP 服务器,实现真正的消息协议处理。 一、整体架构演进1.1 3-4 分支:骨架阶段123456789101112131415161718┌─────────────────────────────────────────┐│ McpGatewayController ││ ┌─────────────┐ ┌─────────────┐ ││ │ SSE 连接 │ │ 消息接收 │ ││ │ /mcp/sse │ │ POST 接口 │ ││ └──────┬──────┘ └──────┬──────┘ │ ...
AI MCP Gateway-定义MCP协议的消息结构
发表于2026-02-12|AI Engineering|MCP
McpSchemaVO 详解:MCP协议消息结构定义📋 文件作用McpSchemaVO.java 是一个值对象(Value Object),定义了 MCP(Model Context Protocol)协议的消息结构,用于: 序列化:将Java对象转换为JSON字符串 反序列化:将JSON字符串转换为Java对象 🏗️ 核心结构1. 密封接口(Sealed Interface)123public sealed interface JSONRPCMessage permits JSONRPCRequest, JSONRPCResponse { String jsonrpc();} 作用: 定义所有MCP消息的公共接口 限制只有 JSONRPCRequest 和 JSONRPCResponse 可以实现该接口 确保类型安全,防止非法实现 sealed关键字的优势:123456789101112// Java 17+ 特性public sealed interface JSONRPCMessage permits JSONRPCRequest, JSO ...
AI MCP Gateway-会话消息结构设计
发表于2026-02-10|AI Engineering|MCP
🚀 ai-mcp-gateway v3.4 版本更新:MCP协议消息处理架构全面升级 📋 标题选项 从SSE连接到MCP协议:ai-mcp-gateway v3.4 消息处理架构演进 策略模式实战:ai-mcp-gateway v3.4 如何优雅处理MCP协议消息 MCP协议支持升级:ai-mcp-gateway v3.4 核心技术解析 🎯 引言在 ai-mcp-gateway v3.3 版本中,我们成功实现了基于SSE的实时通信能力,为AI微服务网关提供了会话编排架构。然而,v3.3 版本主要关注会话的建立和管理,对于具体的协议消息处理还不够完善。 在 v3.4 版本中,我们正式引入了对 MCP(Model Context Protocol)协议的完整支持,实现了基于策略模式的消息处理架构。本次更新共涉及 17个文件,新增 498行代码,删除 10行代码,标志着项目从”会话管理”迈向”协议支持”的重要里程碑。 ✨ 新特性1. MCP协议消息结构定义新增了完整的MCP协议消息结构定义,支持JSON-RPC 2.0协议格式。 核心类:McpSchemaVO 123456789 ...
AI MCP Gateway-Case模块运行机制
发表于2026-02-08|AI Engineering|MCP
Case模块运行机制详解一、整体架构case模块采用了责任链模式和策略模式的组合设计,通过多个节点串联处理MCP会话请求。整体架构如下: 1234567891011121314151617181920212223242526┌─────────────────────────────────────────────────────────────┐│ Case Module ││ ││ ┌──────────────┐ ┌──────────────────────────────┐ ││ │ Service │─────▶│ Session Factory │ ││ │ │ │ │ ││ │ McpMes ...
AI MCP Gateway-会话接口编排
发表于2026-02-07|AI Engineering|MCP
🚀 ai-mcp-gateway v3.3 版本更新:会话编排架构升级,SSE实时通信能力全面增强 📋 标题选项 从会话管理到会话编排:ai-mcp-gateway v3.3 架构演进实录 责任链模式实战:ai-mcp-gateway v3.3 如何优雅处理SSE会话流程 会话编排架构升级:ai-mcp-gateway v3.3 核心技术解析 🎯 引言在 ai-mcp-gateway v3.2 版本中,我们成功实现了基础的会话管理功能,为AI微服务网关提供了会话状态管理能力。然而,随着业务复杂度的提升,单一的会话管理服务已无法满足多样化的业务场景需求。 在 v3.3 版本中,我们引入了会话编排架构,采用责任链模式重构了会话处理流程,新增了完整的SSE(Server-Sent Events)实时通信能力。本次更新共涉及 22个文件,新增 473行代码,删除 20行代码,标志着项目从”会话管理”迈向”会话编排”的重要里程碑。 ✨ 新特性1. SSE实时通信接口新增了完整的SSE连接建立接口,支持客户端与服务器之间的实时双向通信。 新增接口:12@GetMapping(value ...
AI MCP Gateway-分支会话管理功能
发表于2026-02-05|AI Engineering|MCP
3.2分支会话管理功能详细解析一、改动背景与目标3.2分支(3-2-session-management)的核心目标是为AI微服务网关添加会话管理功能,以支持长连接、实时交互场景,如AI聊天、持续对话等。在3.1分支(3-1-init-project)中,项目仅完成了基础架构搭建,缺乏会话状态管理能力,无法支持需要保持上下文的AI服务交互。 二、具体改动内容1. 新增目录结构1234567891011121314ai-mcp-gateway-domain/└── src/main/java/cn/bugstack/ai/domain/session/ ├── adapter/ │ ├── port/ │ └── repository/ ├── model/ │ ├── aggregate/ │ ├── entity/ │ └── valobj/ │ └── SessionConfigVO.java └── service/ ├── ISessionManagementService.ja ...
AI MCP Gateway-分析
发表于2026-02-02|AI Engineering|MCP
深入理解 AI MCP Gateway:从协议演进到网关架构设计 摘要:本文梳理了大模型与企业内部系统交互的技术演进路径,深入分析了传统 Function Calling 模式在企业级落地时的耦合痛点。基于此,提出并设计了 AI MCP Gateway 架构方案,通过动态代理与协议翻译机制,实现现有 HTTP/RPC 接口的零代码接入。文章重点探讨了基于 SSE 的流式传输选型、JSON-RPC 2.0 协议解析及动态路由引擎的设计思路,旨在为企业级 AI 应用提供一套高内聚、低耦合的基础设施解决方案。 1. 引言:大模型落地的“最后一公里”难题在当前的 AI 工程化实践中,我们面临着一个显著的矛盾:大模型(LLM)的通用推理能力与企业内部私有业务数据/服务之间的割裂。 虽然 LLM 具备了强大的逻辑推理和代码生成能力,但它本质上是一个“黑盒”,无法直接访问外部数据库、微服务或遗留系统。为了解决这个问题,业界经历了从 Prompt Engineering 到 Function Calling,再到如今 MCP (Model Context Protocol) 协议的演进。 本文旨在梳 ...
数据库Redis
发表于2026-01-13|Redis|Database
String 还是 Hash 存储对象数据更好呢
数据库MySql
发表于2026-01-13|Database|Database
1.基础知识1.主键和外键有什么区别?​ 主键是用来唯一标识一条记录的,不能为空也不能重复,一张表只能有一个主键。在 InnoDB 中,主键索引是聚簇索引,数据本身存放在主键索引的叶子节点中。 外键主要用于建立表与表之间的关联关系,用来约束子表中的字段必须来自于父表的主键或唯一键,从而保证数据一致性。外键字段可以重复,也可以为空,一张表可以有多个外键。 在实际生产环境中,一般不直接使用数据库外键,而是在业务层通过逻辑外键来维护数据一致性,以避免外键带来的性能开销和维护复杂度问题。 2.为什么不推荐使用外键与级联?外键和级联主要用于在数据库层面保证数据一致性,但在实际生产环境中通常不推荐使用。 一方面,外键和级联在插入、更新和删除时会带来额外的性能开销,尤其是在高并发场景下影响明显;另一方面,级联操作存在较大的误操作风险,一次错误删除可能导致大量数据被级联删除。 此外,外键不适用于分库分表和微服务架构,会增加系统的耦合度和维护成本。 因此,在实际项目中通常采用逻辑外键,在业务层通过代码和事务来保证数据一致性,而不是依赖数据库外键和级联机制。 什么是存储过程存储过程是一组预先编译并 ...
Spring学习
发表于2026-01-10|Spring|Spring
IoC有什么用? 第一层(核心定义):“IoC将对象创建和依赖管理的控制权从程序代码反转到容器,实现了解耦。我的类不再new依赖对象,而是通过构造器、Setter或字段声明它需要什么,容器在运行时注入给它。” 第二层(具体价值):“它带来了四个关键好处:第一是解耦,让我的业务代码只依赖接口,便于替换实现。第二是易于测试,我可以轻松注入Mock对象进行单元测试。第三是集中管理,所有对象的生命周期由容器统一管理,更安全。第四是配置灵活,通过修改配置就能改变组件行为和依赖关系。” 第三层(结合实践):“比如在我的项目中,OrderService依赖PaymentService。利用IoC,我只需用@Autowired声明依赖。当需要从微信支付切换到支付宝时,我只需配置不同的PaymentService实现Bean,OrderService的代码一行都不用改,这极大地提升了维护性和扩展性。”
拼团3
发表于2026-01-04|拼团|Proj
MySQL 1234567<update id="updateAddLockCount" parameterType="java.lang.String"> <![CDATA[ update group_buy_order set lock_count = lock_count + 1, update_time= now() where team_id = #{teamId} and lock_count < target_count ]]></update> 责任链模型结构
MyBatis报错2
发表于2026-01-03|报错|MyBatis
为了拆分库表,为了省事在xml文件中直接注释: 12345678910 <select id="queryValidGroupBuyActivityId" resultMap="GroupBuyActivityMap"> SELECT activity_id, activity_name,-- source, channel, goods_id, discount_id, group_type, take_limit_count, target, valid_time, status, start_time, end_time, tag_id, tag_scope FROM group_buy_activity-- WHERE source = #{source} AND channel = #{channel} WHERE activity_id = #{acti ...
12…6
avatar
JJxXxLL
记录学习
文章
69
标签
22
分类
16
Follow Me
公告
欢迎来到我的博客!
最新文章
AI MCP Gateway-消息协议处理案例2026-02-14
AI MCP Gateway-定义MCP协议的消息结构2026-02-12
AI MCP Gateway-会话消息结构设计2026-02-10
AI MCP Gateway-Case模块运行机制2026-02-08
AI MCP Gateway-会话接口编排2026-02-07
©2024 - 2026 By JJxXxLL
搜索
数据库加载中