40 归档分页
370 留言互动
4 核心专题

GitHub可用性改造背后的故障隔离真相

本文指出,系统出现性能问题或故障后,团队常倾向于拆微服务、上 Kubernetes、增加机器,但这些手段不会自动带来高可用。GitHub 2026 年可用性改造的真正主线不是增加服务数量,而是持续移除共享故障点,把故障限制在更小范围。微服务数量不等于故障隔离,真正隔离包含代码边界、资源边界和故障边界。GitHub 通过迁出认证权限、让仓库与 Pull Request 使用独立基础设施、降低单机房依赖,逐步建立隔离。文章提出可靠性改造五原则:识别核心用户路径、优先隔离资源、主动丢弃负载、逐步放量快速回退、高可用不等于所有功能正常。中小团队可先画依赖关系、识别共享资源、建立软隔离,再拆分高风险域。真正架构升级是控制故障传播,拆服务前应问:模块失控后,能否只让自己失败?

从96%到70%

本文记录了把四个独立的 Spring Boot 项目(chat、puke、zepp、blog)合并为一个 Maven 多模块工程,只启动一个 total‑app.jar 的实践。原先每个项目占用一个 JVM,导致服务器内存接近 96%;通过在根 pom 统一依赖、在 launcher 中用 SpringApplicationBuilder 依次启动四个 ApplicationContext,并将配置分别放在 chat.yml、puke.yml、zepp.yml、blog.yml 中,消除了 JVM 底座的重复开销,内存降至约 70%。文章重点阐述了类路径冲突、资源目录重名、自动配置串扰和日志全局化等踩坑及对应的统一依赖、资源隔离、spring.autoconfigure.exclude 等解决方案。部署时仅需一次打包并用单条 java 命令启动,端口和 Nginx 配置保持不变,运维更简洁。该方案适合资源受限、访问量不高且对隔离要求不强的场景,虽牺牲了故障隔离,但能显著降低内存压力,为小型服务器提供务实的优化路径。

Spring AI 2.0 如何解决Agent工具选择难题

文章详细讲解了如何通过 Tool Search 将工具目录转变为可检索能力,让模型先发现候选工具,再加载具体 Schema;同时探讨工具索引策略、工具描述设计、权限控制、Memory 与工具循环关系,以及如何通过指标评估优化效果。最终指出,Agent 扩展的关键不是不断增加模型上下文,而是建立“能力目录、能力检索、能力执行”三层治理体系,让工具像数据一样可发现、像接口一样可控、像生产操作一样可审计。

一个IP查询接口,暴露出的系统设计边界

文章围绕核心数据与增强数据的边界划分,讨论失败降级、超时控制、异步补偿、可信代理解析、私有地址处理以及本地 IP 库迁移检查等关键问题。通过统一“IP未知”状态,让系统在定位服务不可用时仍保持评论提交能力,同时保留内部监控和问题排查能力。最终实现一个可失败、可恢复、可观测的外部数据增强方案。

一个“搜不到”的问题,重构了整个搜索链路

博客搜索看似只是一次关键词查询,但真正可靠的搜索需要处理输入规范化、召回策略、排序逻辑、分页一致性、缓存隔离以及用户反馈等多个环节。本文记录一次真实的博客搜索重构过程:针对短关键词“AI”无法命中的问题,分析 MySQL 全文检索与模糊匹配叠加导致的召回缺陷,重新设计搜索契约,将字面匹配作为结果召回依据,全文检索作为排序辅助,同时完善 URL 编码、分页边界、空结果状态和自动化测试。通过这次改造,搜索功能从“偶尔能用”变成了一条行为明确、结果稳定、可持续演进的搜索链路。

AI评论审核背后的状态机与一致性设计

AI 评论审核真正的难点并不是调用大模型,而是如何让一个异步、不稳定、可重试的外部能力融入业务流程。本文以 Spring Boot 博客评论系统为例,介绍如何通过状态机、事务提交后回调、乐观锁式条件更新、失败分层重试、事务一致性和前端结果定位,构建可靠的 AI 评论审核链路。通过明确状态流转、防止过期任务覆盖人工操作、保证回复数据一致性,并完善用户侧反馈闭环,让 AI 功能从“能运行”提升到“可维护、可恢复、可上线”的工程化实现。

【更新日志】

本文基于项目 2023 年至 2026 年完整 Git 提交历史整理,记录了个人博客从诞生到产品化演进的全过程。项目最初以 Spring Boot 博客系统为基础,逐步完善文章管理、评论互动、天气、访问统计、移动端适配等能力;随后围绕评论系统、性能优化、安全治理持续重构。2026 年起,博客进一步引入 AI 摘要、AI 问答、AI 评论审核等智能化能力,并迁入 total 多模块工程,实现统一部署。三年半时间内,项目经历了从“能用”到“好用”,再到“智能化”的转变。Git 记录的不只是代码变化,更是一套个人产品持续迭代、技术成长和工程实践的完整轨迹。

金叶炸金花

这不是一个在浏览器里随机发三张牌的演示页面,而是一套完整的多人在线游戏系统。它支持实时对战、房间管理、断线恢复、AI 机器人、积分流水、历史记录和管理后台,并围绕服务端权威、状态一致性、并发控制与隐私隔离进行了系统设计。

低处飞行,也能抵达辽阔

王计兵凭借诗集《低处飞行》获得鲁迅文学奖,让人看到文学也能从奔波的日常中生长。作为外卖骑手,他利用等餐、等电梯和等红灯的间隙记录生活,把被订单切碎的时间拼成诗歌。他的经历说明,“低处”只是位置,并不意味着精神低微;一个人为生活弯腰,也可以保持辽阔目光。我们不应把他的获奖简单包装成“苦难逆袭”。苦难本身不值得赞美,可贵的是他在艰难中仍保留感受力、尊严与创造力。文学奖也不是劳动者获得尊重的前提,即使没有掌声,认真生活的人值得被看见。王计兵的写作从“我”走向“我们”,让劳动者的疲惫、梦想和尊严进入公共视野。他的故事提醒我们,热爱不必立刻证明有用,真正的飞翔,是在生活不断催促时,愿意抬头、感受并表达。