Go pprof 实战:一个内存泄漏的定位全过程

服务内存每 6 小时涨 1G,重启就好了——典型的 goroutine 泄漏。用 pprof 火焰图、goroutine 栈、heap profile 一步步定位到根因,完整过程复盘。

April 18, 2023 · 3 min · 1487 words · IYABAO

Go 错误处理:从 if err != nil 到错误设计

Go 的错误处理不是’写 if err != nil’,是’设计错误’:错误分类、包装链、哨兵错误、错误码与日志——一套让错误’可定位、可分类、可恢复’的体系。

March 14, 2023 · 4 min · 1667 words · IYABAO

MySQL MVCC 与隔离级别:读懂 InnoDB 的读一致性

为什么 RR 隔离级别下你读不到别人未提交的数据?MVCC、隐藏列、undo log、Read View——把 InnoDB 的读一致性问题一次讲透。

February 20, 2023 · 4 min · 1761 words · IYABAO

gRPC 服务间通信标准:我们是怎么定的

微服务拆出来第一件事不是写代码,是定通信标准。proto 目录结构、错误码、trace、鉴权、兼容性规范,这一套标准定了,后面 20 个服务才没乱。

January 10, 2023 · 4 min · 1559 words · IYABAO

CI/CD 流水线:从手动发布到一键上线

发布是最高危的操作。流水线化:提交即构建、PR 即测试、合并即部署——GitHub Actions 与自建流水线的完整设计,从手动到一键的演进。

December 6, 2022 · 3 min · 1328 words · IYABAO

Go 并发模式:goroutine + channel 实战

不要用锁解决问题,用通信。Worker Pool、Fan-out/Fan-in、超时控制、优雅退出——Go 并发编程的四个高频模式,每个都附可直接用的代码。

November 16, 2022 · 3 min · 1270 words · IYABAO

K8s HPA:从配置到压测验证

HPA 配置 10 分钟,调好却要一星期。指标选型、稳定窗口、冷却时间、压测验证——把水平自动伸缩从’能用’调到’真的好用’。

September 14, 2022 · 3 min · 1467 words · IYABAO

分布式链路追踪:从日志拼查到 Trace 一键

微服务排查的痛:一个请求经过 8 个服务,日志散在 8 个文件里。Trace ID 贯穿、Span 采集、采样策略——从’拼日志’到’一键看全链路’的落地。

August 16, 2022 · 4 min · 1716 words · IYABAO

RabbitMQ 削峰:百万级写入如何平稳化

每天早上 9 点的招聘高峰,投递请求像潮水一样打过来,数据库直写必死。RabbitMQ 异步削峰 + 消费端限流 + 幂等消费,把峰值写入平滑成恒定吞吐。

June 22, 2022 · 3 min · 1201 words · IYABAO

日志规范与成本治理:日志平台的第二课

日志不是越多越好:每天 5TB 日志,存储成本惊人。日志规范(级别/字段/内容)、采样、归档、成本预算——日志治理是 ELK 之后必须补的第二课。

May 10, 2022 · 3 min · 1379 words · IYABAO