HELLO, NICE TO MEET YOU

写代码的人,也在认真生活.

本职Java 后端 ,杭州。财税 SaaS、营销中台、电商都踩过坑。这里记录技术笔记,以及每一次线上问题是怎么被查出来的。

先说结论

我是余杰,写了 8 年 Java 后端,杭州人,习惯在凌晨被告警叫醒,然后一边骂骂咧咧一边把问题按在地上摩擦。这个站叫「非攻」——墨子说的是不攻击别人,我的理解是:只攻 Bug,不攻同事。

站里有两类东西:一类是技术笔记(Java、Spring、Redis、MQ、MySQL……面试和日常都用得上);另一类是《生产问题排查手记》,专门记录线上出事时怎么一步步查出来的——现象、命令、根因、复盘,全都写清楚,既是给自己的备忘录,也希望你下次出事时能少熬半小时夜。

我踩过的三片“坑地”

财税 SaaS 票 · 账 · 税一体化 申报清册、税局数据链路 征期脉冲流量 每月 1–15 号:请勿打扰 营销 SCRM 中台 短信中台、营销引擎 Binlog 实时同步、分库分表 日均千万级消息 发出去的每条短信都有故事 电商 · B2B 购物车、订单、秒杀 Nginx 集群、Redis、MQ 大报表导出防 OOM 大促零点:手心出汗

我怎么排查问题

八年下来,我的“排查心法”其实很朴素,只有五句话,贴在显示器上:

  1. 先保留现场,再动手。重启是个好按钮,但它也会带走证据(jstack、heap dump、日志、监控截图先存下来)。
  2. 先问范围,再问原因。是全部用户还是部分?从几点开始?最近改过什么?有没有规律?
  3. 分层定位,别跳步。网络 → 机器 → 进程 → 线程 → 代码;每一层用一条命令排除,别一上来就怀疑 JVM。
  4. 先止血,再根治。限流、降级、摘流量、回滚,先让业务活过来,然后再慢慢查。
  5. 每次事故都写复盘。写不清楚,就说明没真懂;这个站的“排查手记”就是这么来的。

技术栈速览

领域常用备注
语言与框架Java、Spring Boot、Spring Cloud、Dubbo、MyBatis主力,从 JDK 8 用到新版本
数据与缓存MySQL、Redis、MongoDB、Elasticsearch、Sharding-JDBC分库分表、多级缓存、分布式锁
消息与调度RocketMQ、RabbitMQ、Kafka、XXL-JOB、Canal削峰、异步、Binlog 实时同步
部署与运维Linux、Docker、Nginx、Nacos、Apollo、ELK、Grafana环境搭建、发布流程、排查手册
AI 应用LLM、Function Calling、知识库检索、AI Coding结构化输出,人工确认后才落库

近几年的“战绩”

  • 做过日均千万级的短信中台:多通道智能路由,触达率、对账、SDK 一条龙。
  • 做过财税 SaaS 的申报清册:重构后新地区接入从 2 周缩到 3–5 天,征期高峰保持平稳。
  • 做过税局数据网关:缓存合并 + 限流熔断,局端重复调用约减半,失败率明显下降。
  • 把大模型接进业务:只读、可溯源、人工确认后才落库——AI 说了不算,会计说了才算。
  • 2026 年业余时间,用 AI Coding Agent 独立交付了 App 与小程序:人负责架构、约束与验收,机器负责敲键盘。

关于这个站的几件小事

  • 排查手记里的案例,是怎么来的?它们综合了我自己踩过的坑和公开的技术复盘、官方文档,再按“第一人称”重新讲一遍;涉及公司、客户、内网信息的细节一律做了脱敏或改写。命令和原理是认真核对过的,故事里的“我”偶尔会稍微夸张一点点——毕竟凌晨三点的记忆本来就不太可靠。
  • 为什么文章里总有图?因为我自己看文章最怕“一大段文字然后一句‘如图所示’”,所以能画的都画了。
  • 发现错误怎么办?欢迎留言指出。线上问题最怕以讹传讹,你帮我纠错,就是帮下一个凌晨被叫醒的人。
  • 接私活吗?接。企业官网、小程序、App 初版、AI 知识库客服,都在页面下方的服务入口里,价格透明、分阶段付款、源码交付。

一句话介绍自己:8 年后端,专治“在我电脑上是好的”。

FROM IDEAS TO REALITY

不止于分享,也为你创造.

了解全部服务

搜索文章

输入关键词,按标题和摘要即时筛选。

浏览分类文章归档

阅读设置

字号
行宽
专注模式

专注模式会隐藏页头与侧栏,只留正文。设置保存在当前浏览器。

稍后阅读

保存在当前浏览器,留给下一次安静阅读。

总浏览 -- 次 · 总访客 -- 人 · 今日浏览 -- 次 · 今日访客 -- 人