<feed xmlns="http://www.w3.org/2005/Atom"> <id>https://cheneyzhang93.github.io/blog/</id><title>Cheney 技术博客</title><subtitle>Cheney 的后端技术博客：记录后端架构与稳定性治理的从 0 到 1——消息可靠消费、 批量数据修复、测试体系、API 契约治理与可观测性（日志 / 链路 / 告警）的设计决策与实测复盘。</subtitle> <updated>2026-09-26T11:54:08+00:00</updated> <author> <name>Cheney</name> <uri>https://cheneyzhang93.github.io/blog/</uri> </author><link rel="self" type="application/atom+xml" href="https://cheneyzhang93.github.io/blog/feed.xml"/><link rel="alternate" type="text/html" hreflang="zh-CN" href="https://cheneyzhang93.github.io/blog/"/> <generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator> <rights> © 2026 Cheney </rights> <icon>/blog/assets/img/favicons/favicon.ico</icon> <logo>/blog/assets/img/favicons/favicon-96x96.png</logo> <entry><title>带人场景手册：22 个当场要用的判断</title><link href="https://cheneyzhang93.github.io/blog/posts/people-management-playbook/" rel="alternate" type="text/html" title="带人场景手册：22 个当场要用的判断" /><published>2026-09-24T16:04:00+00:00</published> <updated>2026-09-24T16:04:00+00:00</updated> <id>https://cheneyzhang93.github.io/blog/posts/people-management-playbook/</id> <content src="https://cheneyzhang93.github.io/blog/posts/people-management-playbook/" /> <author> <name>Cheney</name> </author> <category term="职场治理" /> <summary>这一页不是给人从头读完的，是出事那天翻的。22 个场景，一节解决一件事：什么时候翻到这页、第一步做什么、话术怎么说、对方三种回法分别怎么接、当天要留下什么、怎么算做对了、最容易搞砸在哪。招人 3 节、前 90 天 5 节、日常 7 节、发展与告别 7 节，附 14 张可以直接抄的表。</summary> </entry> <entry><title>入职上手 SOP：信息采集、职责对齐与信号机制</title><link href="https://cheneyzhang93.github.io/blog/posts/newcomer-onboarding-sop/" rel="alternate" type="text/html" title="入职上手 SOP：信息采集、职责对齐与信号机制" /><published>2026-09-23T16:00:00+00:00</published> <updated>2026-09-26T11:53:18+00:00</updated> <id>https://cheneyzhang93.github.io/blog/posts/newcomer-onboarding-sop/</id> <content src="https://cheneyzhang93.github.io/blog/posts/newcomer-onboarding-sop/" /> <author> <name>Cheney</name> </author> <category term="职场治理" /> <summary>没有培训、没有文档、没有对接人，公司默认新人自己搞定一切，然后在评价时按没人说过的标准算账。这篇把「自己搞定」拆成从第一周到第一个月的几个动作：信息怎么摸到手，职责怎么谈成一页纸，平时怎么让「主动」被看见，被点名「不主动」时怎么应对，什么时候该想清楚去留。附四份可以照抄的模板。</summary> </entry> <entry><title>告警治理：事件引擎、通道自建与慢 SQL 感知</title><link href="https://cheneyzhang93.github.io/blog/posts/alerting-engine/" rel="alternate" type="text/html" title="告警治理：事件引擎、通道自建与慢 SQL 感知" /><published>2026-09-16T16:00:00+00:00</published> <updated>2026-09-17T13:46:23+00:00</updated> <id>https://cheneyzhang93.github.io/blog/posts/alerting-engine/</id> <content src="https://cheneyzhang93.github.io/blog/posts/alerting-engine/" /> <author> <name>Cheney</name> </author> <category term="稳定性治理" /> <summary>零告警通道、故障靠用户反馈、慢 SQL 不可见——且告警体系的设计有三个前置约束：多实例去重、通道限频、平台未就绪。本文复盘告警体系的 0→1：按影响面定级的 P0/P1/P2 模型、Redis 窗口聚合与异步管道、一次依赖毒链审计推翻「引现成组件」后的通道自研、慢 SQL 拦截器的选型细节与指纹口径、指标基座与两次口径修正——以及如实标注的边界。</summary> </entry> <entry><title>链路追踪治理：W3C 标准落地、上下文传播与 Agent 取舍</title><link href="https://cheneyzhang93.github.io/blog/posts/distributed-tracing/" rel="alternate" type="text/html" title="链路追踪治理：W3C 标准落地、上下文传播与 Agent 取舍" /><published>2026-09-10T00:00:00+00:00</published> <updated>2026-09-17T13:46:23+00:00</updated> <id>https://cheneyzhang93.github.io/blog/posts/distributed-tracing/</id> <content src="https://cheneyzhang93.github.io/blog/posts/distributed-tracing/" /> <author> <name>Cheney</name> </author> <category term="稳定性治理" /> <summary>目标格式进不了标准传播头、生成器同毫秒撞号、异步与消息链路整段断链——链路追踪的起点是三笔债。本文复盘它的 0→1 标准化：32 位 hex 身份的生成与采纳、四类执行体的上下文传播（线程池装饰器、消息双实现、调度注入）、OTel Java Agent 的完整引入评估、span 导出与按 trace_id 检索端点的设计——每个决策都附实测依据。</summary> </entry> <entry><title>日志治理：统一异常出口、结构化日志与字段契约</title><link href="https://cheneyzhang93.github.io/blog/posts/structured-logging/" rel="alternate" type="text/html" title="日志治理：统一异常出口、结构化日志与字段契约" /><published>2026-09-03T00:00:00+00:00</published> <updated>2026-09-17T13:46:23+00:00</updated> <id>https://cheneyzhang93.github.io/blog/posts/structured-logging/</id> <content src="https://cheneyzhang93.github.io/blog/posts/structured-logging/" /> <author> <name>Cheney</name> </author> <category term="稳定性治理" /> <summary>异常出口被 9 个接口的 try-catch 绕过、根因堆栈丢在四处、日志是无法检索的纯文本、请求操作不可追溯——日志治理的起点是四笔债。本文复盘日志体系的 0→1 设计：统一异常出口的接管与还原、四处吞堆栈点的逐点治理与级别纪律、JSON 布局与双层异步的每个参数、访问日志的字段建模、13 字段契约与一次日志栈供应链审计。</summary> </entry> <entry><title>API 契约治理：OpenAPI 3 落地、契约守护与生效边界</title><link href="https://cheneyzhang93.github.io/blog/posts/api-contract-governance/" rel="alternate" type="text/html" title="API 契约治理：OpenAPI 3 落地、契约守护与生效边界" /><published>2026-08-27T00:00:00+00:00</published> <updated>2026-09-17T13:46:23+00:00</updated> <id>https://cheneyzhang93.github.io/blog/posts/api-contract-governance/</id> <content src="https://cheneyzhang93.github.io/blog/posts/api-contract-governance/" /> <author> <name>Cheney</name> </author> <category term="稳定性治理" /> <summary>9 个接口注释近乎为零，前端联调靠读源码猜字段；文档生成器自 2020 年起再无新版本；生产接口文档对外开放。本文复盘一次 API 契约治理的完整落地：格式与生成器的两层选型对比、双栈共存的绞杀者策略、快照门禁与契约断言——以及一份如实标注的生效边界。</summary> </entry> <entry><title>从零建立测试体系：分层、基座、断言与回归纪律</title><link href="https://cheneyzhang93.github.io/blog/posts/test-system-from-scratch/" rel="alternate" type="text/html" title="从零建立测试体系：分层、基座、断言与回归纪律" /><published>2026-08-20T00:00:00+00:00</published> <updated>2026-09-17T13:46:23+00:00</updated> <id>https://cheneyzhang93.github.io/blog/posts/test-system-from-scratch/</id> <content src="https://cheneyzhang93.github.io/blog/posts/test-system-from-scratch/" /> <author> <name>Cheney</name> </author> <category term="稳定性治理" /> <summary>测试的起点是零：没有单元测试、没有集成基座，仅有的自动化测试直连真实测试库——环境不可控、离线跑不了、CI 接不进来。本文复盘从零建立测试体系：单元测试锁住逻辑、集成测试守住接缝，缺陷在合入前拦下；并给出可直接套用的模板（单测 / 基座 / 日志断言 / 报告配置 / 排查表），以及三笔学费（9000+ 条残留数据、717 条 null 单号、CI 假绿）换来的教训。</summary> </entry> <entry><title>批量数据修复：文件账本驱动的可回滚设计</title><link href="https://cheneyzhang93.github.io/blog/posts/batch-data-fix-file-ledger/" rel="alternate" type="text/html" title="批量数据修复：文件账本驱动的可回滚设计" /><published>2026-08-13T00:00:00+00:00</published> <updated>2026-09-17T13:46:23+00:00</updated> <id>https://cheneyzhang93.github.io/blog/posts/batch-data-fix-file-ledger/</id> <content src="https://cheneyzhang93.github.io/blog/posts/batch-data-fix-file-ledger/" /> <author> <name>Cheney</name> </author> <category term="后端架构" /> <summary>12 万行清单、四张业务表、约 48 万行实际改动：要求可灰度、可回滚、可降级，且不新增任何数据库表。以本地文件账本与顺序契约，把一次性的批量数据修复做成可回滚、可续跑、可审计的工程任务。</summary> </entry> <entry><title>收件箱模式：三方推送消息的可靠消费设计与实践</title><link href="https://cheneyzhang93.github.io/blog/posts/reliable-message-consume/" rel="alternate" type="text/html" title="收件箱模式：三方推送消息的可靠消费设计与实践" /><published>2026-08-06T00:00:00+00:00</published> <updated>2026-09-17T13:46:23+00:00</updated> <id>https://cheneyzhang93.github.io/blog/posts/reliable-message-consume/</id> <content src="https://cheneyzhang93.github.io/blog/posts/reliable-message-consume/" /> <author> <name>Cheney</name> </author> <category term="后端架构" /> <summary>以「收件箱模式」改造三方推送消息链路：落库即应答、单消费者串行，用四态状态机、三层防重与退避重试，消解超时重推引发的重复数据问题。</summary> </entry> </feed>
