- 博客(135)
- 收藏
- 关注
原创 Nacos 3.x 学习:从服务注册深入理解 Nacos
本文深入解析Nacos 3.x服务注册模块的核心机制。文章从分层架构入手,详细剖析了服务注册的完整流程,包括API接入层、业务编排层、核心管理层和存储索引层的协作机制。重点讲解了临时实例与持久化实例的区别(分别采用Distro AP协议和Raft CP协议)、事件驱动架构(通过NotifyCenter实现异步解耦)以及双索引设计(ClientServiceIndexesManager维护发布/订阅关系)。文章采用星型扩展模式,以服务注册为主线,为后续讲解服务查询、订阅推送等功能奠定基础。
2026-04-08 22:59:38
369
原创 Nacos 3.x 学习:从配置模块深入理解 Nacos (三)
本文深入分析了Nacos 3.x配置中心的监听查询机制,重点阐述了监听上下文的双索引设计(配置→客户端和客户端→配置双向映射)、监听注册流程以及MD5校验原理。核心内容包括:1)ConfigChangeListenContext类采用双索引结构高效维护监听关系;2)客户端通过gRPC注册监听时服务端会记录MD5值用于变更检测;3)连接管理机制确保监听关系的及时清理。该设计实现了配置变更的实时推送能力,是Nacos配置中心的核心功能支撑。
2026-04-08 22:58:39
363
原创 Nacos 3.x 学习: 从配置模块深入理解Nacos(二)
本文深入解析了Nacos 3.x配置中心的历史版本管理机制,重点包括:1)采用独立表his_config_info存储历史版本,与主表config_info分离设计;2)仅记录更新(U)和删除(D)操作前的配置快照;3)通过"先备份后修改"流程确保变更可追溯;4)详细分析了历史记录的创建时机、存储结构及回滚机制。该功能为配置变更提供了完整的审计追踪和安全恢复能力,是配置中心的核心保障机制。
2026-04-07 20:49:12
400
原创 Nacos 3.x 学习: 从配置模块深入理解Nacos(一)
本文深入剖析了Nacos 3.x配置管理模块的核心架构与实现机制。文章从分层架构设计入手,展示了用户层、业务层、内核层和插件层的模块划分,重点分析了配置发布流程和事件驱动机制。Nacos 3.x通过gRPC长连接替代HTTP短轮询,采用事件驱动架构实现模块间异步解耦,大幅提升了系统性能。配置发布流程包括参数校验、持久化存储和事件发布三个阶段,事件总线NotifyCenter实现异步分发到集群同步、本地快照和客户端推送等订阅者。这种设计使Nacos具备高性能、高可用和易扩展的特点。
2026-04-07 20:47:36
366
原创 Harness工程化实践:从调教到约束
AI Agent开发面临"失明"困境:由于缺乏系统化约束和验证机制,Agent生成的代码常违反架构规范且难以自我修正。Harness工程化方案通过六层架构实现约束分层、知识版本化和按需加载,如同操作系统般为Agent提供结构化环境。其核心创新在于建立验证闭环(预检查+分层约束+交叉review)和上下文分层管理(核心/工作/历史层),显著提升任务完成率并降低成本60%-70%。AGENTS.md作为机器可读的规范文档,与Git深度集成实现知识的动态加载。该方案不是创造新技术,而是对Pro
2026-04-06 13:18:16
792
原创 DDD 架构重构实践:AI Skills 如何赋能DDD设计与重构
使用cleanddd-skills工具进行DDD架构重构的实践体验。该工具通过四个模块(需求分析、领域建模、项目初始化、代码实现)引导CleanDDD实践,重点解决了团队协作中的规范问题。实践发现需求分析阶段已包含限界上下文划分,而建模阶段则细化聚合边界。针对.NET技术栈限制,提出了使用Java生态COLA框架替代的方案,体现了设计与实现分离的价值。这种模块化设计既保证了设计规范统一,又保持技术选型灵活性,为多技术栈团队提供了实用参考。
2026-04-06 10:54:15
580
原创 Sentinel 核心机制全解析:从架构到源码的深度剖析
本文基于Sentinel 1.8.x源码深度剖析其核心机制。Sentinel作为阿里开源的流量控制组件,通过规则管理、流量拦截、核心处理和数据统计四大模块协同工作,保障微服务稳定性。文章重点解析其架构设计思想,包括采用责任链模式组织ProcessorSlotChain处理流程,使用观察者模式实现规则动态更新,以及滑动窗口算法等关键技术实现。通过源码分析,读者可深入理解Sentinel的流量控制、熔断降级等核心功能的底层原理,提升对分布式系统流量治理的认识与源码阅读能力。
2026-03-22 12:43:36
791
原创 从 Spec Coding 到规范驱动 —— AI 编程的确定性边界
本文探讨了AI编程中的规范驱动开发(Spec Coding)及其确定性边界。文章基于得物技术的实战案例,指出规范体系(约束层、示范层、视觉层)能有效约束AI输出质量,但需要警惕"规范腐败"现象。作者提出规范沉淀机制应包含经验记录、团队文档、Review验证等环节,强调规范不是越多越好,而是越精越好。同时分析了规范成本与提效收益的权衡关系,指出大团队更易实现ROI正收益。最后揭示了AI能力边界的本质是信息问题而非智力问题,AI只能基于当前会话快照进行分析。文章认为AI编程的未来不在于单纯提
2026-03-14 19:08:10
1796
原创 Arthas Agent:当故障排查经验开始被“编译”
Arthas Agent 的出现,并非仅仅因为它对 Arthas 命令的熟悉,更重要的是它将 “排障经验系统化”。Skill 的本质是 “编码经验”,它使个人的 “手艺” 转变为 “可复用、可维护、可进化” 的资产。这种模式具备推广到更多场景的潜力,但前提是组织愿意为 “Skill 体系建设” 投入资源。将个人经验编写成 Skill 是一件值得去做的事情。Arthas Agent 的 Skill 是如何维护的?是否存在一套版本管理机制?如何解决 “速度 vs 安全” 的权衡问题?
2026-03-14 13:06:25
942
原创 Git Merge vs Rebase:深度解析两种分支合并策略的原理、区别与应用场景
Git合并策略解析:merge与rebase对比 本文深入分析了Git的两种合并策略。merge通过创建新提交保留完整分支历史,适合公共分支合并;rebase通过重构提交历史实现线性提交记录,适合个人分支整理。两者核心区别在于:merge保留非线性历史,rebase生成线性历史;merge不改变原提交,rebase会修改历史;merge一次性解决冲突,rebase需逐个提交处理冲突。最佳实践是:公共分支使用merge确保安全,私有分支使用rebase保持整洁。关键原则是禁止对已共享的分支执行rebase操作
2026-03-07 16:33:32
500
原创 觉照:被焦虑裹住脚踝时,我学会了觉察
这些思考对我来说,更多是启发而非行动指南。我还没有完全实践,也没有资格说"这样做就能如何"。我依然焦虑,依然迷茫,但至少,我开始了觉察。觉照,对我而言就是觉察。而觉察,是改变的第一步。也许我依然迈不出那一步,也许我依然停留在原地。但至少,我看见了裹住脚踝的东西——不是恐惧,不是懒惰,而是对未知的抗拒,对失败的害怕,对完美的执念。看见它,就是觉察的开始。
2026-02-15 19:02:07
565
原创 你真的理解Java SPI吗?从源码到实战的深度思考 [特殊字符]
本文系统介绍了Java SPI机制及其在框架开发中的应用。首先对比了API与SPI的核心区别,指出SPI实现了控制权的反转,使调用方能灵活选择实现。详细分析了JDK ServiceLoader的工作原理及其优缺点,包括解耦设计、懒加载特性以及线程不安全等局限性。重点探讨了Dubbo对SPI的优化改进,如按需加载、IOC/AOP支持和多目录管理。最后总结了实战中的常见问题,包括加载顺序依赖和类重复加载的解决方案。文章揭示了SPI作为插件化架构基础的设计价值,为理解框架扩展机制提供了深入视角。
2026-02-15 14:37:16
1797
原创 Elasticsearch索引规划:从字段类型到分片策略的实战思考
这篇《如何合理规划Elasticsearch的索引》来自得物技术团队,系统介绍了ES索引从概念到实战的方方面面。文章涵盖了索引结构、字段类型、分片规划等核心内容,对ES的索引使用做了全面讲解。说实话,看到这篇文章的时候挺感慨的。ES算是我踏入编程领域了解比较早的一个中间件之一了,刚毕业那会儿还在各种项目中折腾过。但后来或许是因为ES能力过于强大,在公司里逐渐被专人接管了,压根没我接触的机会。久而久之也就忘之脑后了。随着近年来接触项目越来越多,阅历越来越丰富,越来越觉得ES还是得深入了解一下才好。
2026-02-15 14:27:35
1738
原创 AI编程实战:从方法论到团队协作的完整路径
本文探讨了AI编程的优化路径与实践经验。核心痛点在于上下文切换与协作效率,作者通过外置文件解决,并尝试过工作流系统但最终因学习成本高、灵活性差而放弃。文章提出了AI编程的核心方法论:1)对话流设计要聚焦、明确约束、增量提问;2)系统提示词应简洁(200字内),避免信息过载;3)区分Skill(经验组件)与MCP(工具调用)。结构化对话设计采用三阶段模型(需求定义、边界明确、迭代反馈),而团队协作则通过子代理系统(架构师、审查专家等)共享技术文档实现。作者指出,AI时代开发者价值在于引导AI、把控质量而非单纯
2026-02-12 22:45:37
1418
原创 大文件性能优化:从百倍提升看底层原理的实践思考
本文通过分析4GB大文件处理案例,展示了从637秒优化到5.2秒的百倍性能提升过程。核心优化点包括:批量处理减少系统调用、禁用Nagle算法降低网络开销、零对象设计减少内存分配、调整缓冲区大小至8MB,以及架构上解耦IO与处理逻辑。文章揭示了性能优化的本质是理解底层原理(如TCP协议、文件系统特性)并根据具体场景调整,而非简单套用默认参数。这些实践不仅适用于文件处理,也为数据库操作、网络通信等场景提供了优化思路,强调技术人应深入理解系统原理而非停留在八股文层面。
2026-02-12 22:44:34
776
原创 从2秒到100ms:货拉拉待办中心的低延迟与一致性保障实践
待办任务贯穿司机全生命周期,从入驻认证、做单履约到退出平台。随着业务规模达到亿级流量,原有待办方案面临三大核心挑战:跨服务调用延迟爆炸、数据一致性难以保障、容错机制缺失。本文深度剖析货拉拉待办中心的架构设计,重点聚焦低延迟解决方案、双重数据一致性保障机制以及容错体系。低延迟优化:本地缓存+数据库查询,P99延迟从2秒降至100ms多级缓存架构:L1本地缓存+L2分布式缓存,兼顾性能与一致性分级缓存刷新:根据待办等级差异化TTL,平衡实时性与性能双重一致性保障。
2026-02-11 17:47:09
765
原创 从零构建个人AI Agent:Node.js + LangChain + 上下文压缩全流程
原文分享了一个基于Node.js的AI Agent全流程开发实践,作者从零构建了一个支持多AI协同的智能助手。文章涵盖了技术栈选择(Node.js + LangChain)、提示词工程优化(角色设定、XML结构、Few Shot)、内部工具RAG文档化、上下文管理与压缩等核心技术点。作者通过实际开发经验,详细讲解了如何解决长对话中的上下文窗口问题,最终实现了上下文压缩至1/10的效果,为个人AI Agent开发提供了完整的参考方案。LangChain是什么?
2026-02-11 17:46:48
1190
原创 超越MCP的轻量级方案:Claude Agent Skills最佳实践
摘要:本文探讨了Anthropic推出的Skill功能及其开发实践。Skill作为AI agent行为模式的轻量级封装,与MCP形成互补关系,前者聚焦"怎么做"的方法论,后者提供"能做什么"的工具箱。文章提出让AI编写Skill的新范式,开发者只需提供需求和上下文,AI即可生成高质量Skill。最佳实践包括控制token消耗、渐进式披露信息、按任务性质调整自由度等。这种模式标志着开发者角色从执行者转变为设计者,凸显了AI辅助开发的潜力。
2026-01-29 10:43:31
813
原创 零失败零超卖:一种基于Redis的强一致性热点库存扣减方案
本文介绍了一种基于Redis和DB的强一致性热点库存扣减方案。针对传统Redis分桶方案的三大缺陷(少卖风险、不支持复杂模型、依赖Redis稳定性),提出核心思路:Redis仅作扣减计数,实际以DB明细为准。方案包含四大模块:锁库存模块将库存从sq锁到lq并初始化Redis分桶;下单模块先扣Redis再插DB明细;合并提交模块扫描明细计算实际扣减量;库存回收模块处理预锁库存释放。通过扣减屏障机制防止高并发超卖,实现零超卖零少卖。压测显示该方案使TPS提升1倍以上,扣减成功率100%,显著优化了热点商品库存扣
2026-01-29 10:41:42
974
原创 分页查询的稳定性陷阱:为什么会出现数据重复或遗漏?
本文分析了传统分页查询中数据重复和丢失的问题根源,并提出了三种解决方案。核心问题是传统分页基于不稳定的相对偏移量,且排序字段可能不唯一。推荐方案是使用时间戳+ID游标的绝对锚点分页,确保查询稳定性和性能。另外提供了简单的时间窗口方案和Elasticsearch专属的search_after方法。文章通过实际案例说明问题严重性,并详细比较了各方案的优缺点及适用场景,为分页查询提供了系统性的解决方案。
2026-01-28 16:01:28
999
原创 AI辅助开发的实战心得:从任务边界划分到Claude Code技巧
本文分享了AI辅助开发的实战经验,重点介绍了COSTAR框架、任务边界划分和Claude Code使用技巧。作者提出精简版COSTAR框架(背景、目标、响应格式)和伪XML结构化方法,强调应根据任务难度采取不同协作策略:AI独立完成简单任务,人机协作处理中等任务,仅作参考对待复杂任务。文章还详细讲解了Claude Code的精确文件选择、任务拆解、分治策略等实用技巧,并推荐了/memory规范和Browser MCP等进阶功能。最后指出AI辅助开发是协作模式,需要结构化表达、清晰边界判断和工具熟练运用三者结
2026-01-28 14:50:15
755
原创 代码瘦身与模块化:如何将鉴权功能抽取为独立模块
在微服务架构中,当多个下游服务需要统一的鉴权机制时,传统的做法是每个服务都复制一份鉴权代码。这种方式不仅造成大量代码重复,还增加了维护成本。本文分享了如何将鉴权功能抽取为独立模块的真实实践经验,通过`ruoyi-feign`模块实现了代码复用,让下游服务只需引入依赖即可使用统一的鉴权能力。
2026-01-21 16:04:27
647
原创 WBS任务分解法实战:从6分到9分的迭代优化之旅
WBS(Work Breakdown Structure,工作分解结构)作为项目管理中关键的任务拆解方法论,在项目规划与执行中具有重要地位。本文详细记录了作者在用户系统功能开发过程中,运用WBS方法进行三次迭代优化,将其从初始的6分逐步提升至9分的全过程。文中深入剖析了每个版本存在的问题、改进思路,并最终沉淀出WBS模板,旨在帮助读者迅速掌握WBS的正确应用方法,提升项目管理能力。
2026-01-21 15:40:36
1272
原创 远程鉴权中心设计:HTTP 与 gRPC 的技术决策与实践
本文探讨微服务架构中的远程鉴权方案选型问题。针对若依框架的Spring Cloud Gateway实现需求,文章对比分析了HTTP/REST与gRPC两种协议在性能、开发复杂度、生态支持等方面的差异。通过实际测试数据表明,在鉴权这种轻量级场景下,HTTP协议虽序列化效率略低但整体性能差异不明显。综合考虑调试便利性、生态兼容性等因素,最终选择基于HTTP/Feign的实现方案。文章详细介绍了该方案的架构设计、性能优化策略,并总结了远程调用设计原则和监控指标,为类似场景的技术选型提供参考。
2026-01-20 18:50:11
640
原创 WebFlux vs MVC:Gateway集成若依框架的技术选型之争
本文探讨了在Spring Cloud Gateway(基于WebFlux)中集成若依框架(基于MVC)鉴权功能的技术选型过程。通过对比WebFlux与MVC在编程模型、线程模型、性能特性和生态成熟度等方面的差异,分析了三种集成方案:改造若依支持WebFlux、本地鉴权和远程鉴权中心。最终选择HTTP远程鉴权方案,主要考虑项目一致性、开发维护成本和风险控制等因素,实现了WebFlux与MVC环境的适配,为类似架构集成提供了实践参考。
2026-01-20 17:08:32
1218
原创 游客模式架构设计:UUID+Cookie+LocalStorage的完整实现方案
本文介绍了合同审查平台中游客登录功能的技术方案设计。通过UUID方案实现游客身份标识,采用Cookie+LocalStorage双重存储机制,确保游客数据隔离且可持久化。系统为游客分配特定角色和权限(仅限查看和分析功能),并提供转正机制。技术实现包含前后端完整流程:前端生成/存储UUID并发送登录请求,后端创建游客账号、分配权限并返回认证信息。方案注重安全性(UUID长度限制、Cookie安全属性)和扩展性(配置开关、清晰代码结构),旨在降低用户使用门槛的同时保障系统安全。
2026-01-12 12:41:22
887
原创 Security Filter顺序引发的惨案:为何请求直接放行了?
摘要: 在基于若依框架的微服务架构中,远程鉴权功能在Gateway环境下失效。分析发现,WebFlux环境的RemoteAuthWebFilter未正确注册,导致请求绕过鉴权逻辑。问题根因在于配置类条件冲突:自动配置可能先创建同名Bean,导致后续配置被跳过。同时发现Spring Security核心Filter的Order值为-100,若鉴权Filter的Order值设置不当(如默认0),会导致执行顺序错位。解决方案需确保鉴权Filter优先注册且Order值小于-100,并在WebFlux环境中正确配置
2026-01-12 12:08:50
1235
原创 Spring Cloud Gateway鉴权空指针惊魂:HandlerMethod为null的深度排查
摘要 本文分析了Spring Cloud Gateway集成若依鉴权框架时出现的HandlerMethod空指针问题。问题主要出现在路由转发请求时,由于Gateway仅作为请求代理而不执行本地Controller方法,导致无法获取HandlerMethod对象。通过对比本地方法和路由转发的处理机制,发现问题的核心在于路由注册工具类存在两个缺陷:一是路由匹配逻辑过于简单,仅通过路径前缀判断;二是匹配算法效率低下。解决方案需要重构路由匹配机制,实现更精确的路由判断和高效的匹配算法,同时考虑将鉴权信息从注解中提取
2026-01-11 15:14:44
763
原创 “Broken Pipe”之谜:异步调用大模型接口超时排查全记录
摘要 合同评审系统调用大语言模型接口时出现间歇性"Broken Pipe"错误,经排查发现是Feign+OkHttp客户端超时配置不足导致。当外部API响应超过120秒时,客户端主动断开连接,而服务端仍在处理请求,最终导致管道破裂错误。解决方案包括延长OkHttp客户端的连接超时(60秒→600秒)和读取超时(120秒→1800秒),并验证了大模型接口调用的稳定性。最佳实践建议对外部调用配置充分冗余的超时时间,特别是大模型集成场景需考虑长响应时间的特性。 关键词:SpringBoot、异
2026-01-11 14:20:17
875
原创 [Day16] Bug 排查记录:若依框架二次开发中的经验与教训 contract-security-ruoyi
本文记录了若依框架二次开发中遇到的三个典型问题及解决方案:1)@Anonymous注解因拦截器顺序问题失效,通过调整优先级解决;2)游客Token过期时间计算错误,修正JWT生成逻辑;3)内部服务鉴权失败源于请求头名称不一致,统一常量定义。文章总结了接口设计、配置管理等方面的经验,强调统一标准、完善测试和规范开发习惯的重要性,为类似问题提供了排查思路和优化方向。
2026-01-10 12:57:46
749
原创 [Day15] 若依框架二次开发改造记录:定制化之旅 contract-security-ruoyi
本文介绍了基于若依框架的二次开发实践,主要包含四大改造内容:远程鉴权模块实现多服务统一认证,JWT双Token机制提升安全性,游客登录功能支持有限访问,以及内部服务免鉴权优化系统调用。通过新增注解、过滤器组件和Feign客户端,构建了分布式鉴权体系,同时保持与原框架的无缝集成。改造后的系统支持更灵活的权限控制和多场景用户访问,为微服务架构下的权限管理提供了实用解决方案。
2026-01-10 12:56:21
910
原创 [Day14] 微服务开发中 `contract - common` 共享库的问题排查与解决
本文记录了微服务共享库开发中遇到的典型问题及解决方案。主要问题包括:1) 服务间调用认证信息丢失,通过实现RequestInterceptor传递请求头解决;2) Feign调用超时导致业务失败,通过调整超时配置和接口优化应对。总结出设计层面的关键经验:明确定位接口层、保持接口稳定、充分测试;技术层面的优化要点:完善Feign配置、规范序列化、合理设计枚举。这些实践经验对微服务架构开发具有重要参考价值,强调了在分布式系统中上下文传递和接口设计的重要性。
2026-01-09 12:23:21
915
原创 [Day13] 微服务架构下的共享基础库设计:contract-common 模块实践
本文介绍了contract-common共享基础库的设计与实践,旨在解决微服务架构下代码重复、维护困难等问题。该库包含Feign客户端管理、认证上下文传播、API路径集中管理等核心功能,通过统一目录结构设计实现高效管理。文章详细阐述了模块架构、核心功能实现及典型使用场景,为微服务开发提供了标准化解决方案。该设计显著提升了代码复用率,降低了维护成本,确保了系统间通信的一致性和可靠性。
2026-01-09 12:21:19
1214
原创 [Day12] 合同审查引擎开发中的技术挑战与解决之道 contract-review-engine
本文总结了合同审查引擎开发过程中遇到的典型问题及解决方案,包括时间字段处理不当导致统计错误、JSON序列化兼容性问题、PostgreSQL方言与ORM框架冲突等。针对数据结构优化,从单表JSON存储重构为规范化分表设计,提升了查询效率和扩展性。架构层面,将耦合度高的Pipeline模式调整为基于Executor的批处理模式,降低了模块间依赖。这些经验教训涵盖了编码规范、技术选型、数据设计和架构演进等多个维度,为复杂系统开发提供了实践参考。
2026-01-08 15:48:17
851
原创 [Day11] 合同审查引擎 contract-review-engine:从零构建智能合同分析系统
本文详细介绍了智能合同审查系统的设计与实现过程。系统采用领域驱动设计(DDD)理念,构建了包含领域层、应用层、基础设施层和接口层的分层架构。核心设计包括七个阶段的审查流程、基于Task聚合根的领域模型、调度器与执行器模式实现,以及JPA与领域模型分离的数据持久化策略。系统通过清晰的业务分层和模块化设计,实现了合同文档到结构化报告的转换。文章还提出了调度策略优化和缓存改进等后续优化方向,总结了在技术选型和架构设计上的实践经验,为类似系统的开发提供了参考。
2026-01-08 15:31:06
723
原创 [Day10] contract-management初期开发避坑指南:合同模块 DDD 架构规划的教训与调整
本文记录了合同管理模块开发过程中的关键问题与解决方案。初期重点解决了数据关联删除逻辑、接口优化和创建流程调整,暴露了DDD架构在底层改动时的高昂返工成本。开发中遇到的主要技术问题包括:Long类型前端精度丢失(通过字符串序列化解决)、JSONB类型字段丢失(采用专用TypeHandler确保类型安全)、乐观锁更新失效等。文章还反思了模块拆分合理性,指出task与contract的高耦合度,并详细规划了条款抽取流程及配套接口。这些经验既是对开发过程的总结,也为类似项目提供了实用参考。
2026-01-07 14:08:52
1139
原创 [Day9] contract-management 合同管理系统开发实践
本文分享了合同管理系统开发中的实践经验。在技术选型上,选择了MyBatis Plus处理复杂查询,并采用DDD思想设计分层架构。系统分为接口层、应用层、领域层和基础设施层,核心业务逻辑集中在领域层。选用PostgreSQL数据库并利用其JSONB类型存储灵活数据。通过消息队列实现与审核引擎、文件服务等模块的解耦协作。开发过程中遇到的缓存更新、事务边界、复杂查询等问题都通过优化方案解决。文章总结了分层架构清晰、DDD实践成功等优点,同时指出了模块边界模糊、文档不足等改进方向,为类似系统开发提供了参考。
2026-01-07 13:40:04
1292
原创 [Day8] Contract-AI 的 bugfix 之路,疑难杂症大揭秘:GLM、Feign 及文件传递问题全攻克
本文总结了后端开发中的三个典型问题及解决方案:1)GLM接口无法获取链接文件,最终采用腾讯云OSS临时链接解决;2)Feign访问400错误,发现是配置类重复加载导致,通过移除@Component注解隔离配置解决;3)文件传输问题,将InputStream改为byte数组实现正常传递。文章揭示了Feign客户端的子上下文机制,解释了配置隔离原理。这些实践经验为后端开发提供了有价值的参考,下期将探讨management模块的搭建。
2026-01-06 16:56:41
1327
原创 [Day7] contract-ai深度剖析:大模型适配项目的架构设计与策略实现
本文介绍了一个大模型适配项目的整体架构与实现方案。项目采用模块化设计,分为ai-feign-client和ai-core两大模块,通过策略模式实现多AI模型的无缝切换。核心设计包括固定契约接口、基于模型名的路由机制、Nacos服务发现和Feign客户端集成。系统提供统一AI对话接口,支持DeepSeek、Iflow、GLM等不同AI服务商的集成,实现了模型代码与配置参数的完全解耦。项目采用清晰的目录结构,包含DTO定义、转换器、策略实现等核心组件,并通过mermaid图展示了整体架构和模块关系,为开发者提供
2026-01-06 16:42:22
1224
原创 [Day6] 如何让整个微服务的错误都被你管理?错误管理模块 contract-exception-handler 开发过程
本文设计了一套微服务系统的统一异常处理框架。主要内容包括: 构建了分层异常类结构,包含基础接口ErrorCode和各类具体异常实现 设计了通用错误码体系,涵盖系统、网络、数据等常见错误类型 制定了服务专属错误码分配规范,确保错误码全局唯一性 实现了全局异常捕获机制,统一了错误响应格式 简化了各服务的异常处理逻辑,提高系统可维护性 该设计为系统提供了标准化的错误处理方案,后续将介绍更具挑战性的contract-ai模块开发经验。
2026-01-05 15:08:31
430
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅