王锐WANG RUI
Personal Notes

王锐

写代码,也写点别的。喜欢把复杂的东西拆开看清楚,再想办法让它变得简单一点、稳一点。这里放着我手头在做的事、随手记下的东西,以及读过和用过之后还愿意推荐的部分。

认真做事
01

关于我ABOUT

我是王锐,做后端开发和系统运维,日常和接口、日志、数据库、服务器打交道。工作的很大一部分是把别人描述不清的问题,变成一张能看懂的结构图,然后找到那根真正松掉的线。

写东西的习惯是从排查问题开始的:当时记下来,是因为下次还会遇到。时间久了,零散的笔记攒成了一套自己的方法——先复现,再缩小范围,最后才动手改。这套顺序看起来笨,但很少出错。

后端开发 系统运维 性能排查 数据整理 自动化脚本
02

在做的事NOW

手上主要有三件长期的事。一件是把服务里散落各处的日志收拢成一条能追溯的链路,让线上出问题的时候不用靠猜;一件是把重复的运维动作写成脚本,交给定时任务去做;还有一件是把过去几年积攒的排查记录重新整理成可检索的条目。

可观测性整理

把指标、日志和调用链对齐,让一次异常的定位从半小时缩到几分钟。

自动化运维

把重复的手工步骤固化下来,减少人为操作带来的不确定性。

笔记归档

旧记录重新分类、补齐上下文,让它们以后还能被自己和别人用上。

小工具

写一些只解决一个具体问题的小程序,用完即走,不追求通用。

03

记录NOTES

按时间倒序。写的时候尽量把当时的判断也留下,因为结论会过时,思路不会。

  • 一次数据库连接耗尽是怎么被找到的
    从报警到定位花了四十分钟,问题不在数据库,而在连接池的一段回收逻辑。
  • 把日志读成时间线
    同一件事散落在三台机器上时,怎么把它们拼回一个完整的过程。
  • 关于「先复现」这件事
    没有稳定复现路径的问题,改起来基本靠运气。所以第一步永远是让它出现。
  • 脚本不是越短越好
    一个只跑一次的脚本可以随意,一个会跑三年的脚本必须能被别人看懂。
  • 备份验证比备份本身更重要
    没恢复过的备份不算备份,这句话我用了很久才真正记住。
04

读与用READING & TOOLS

读书偏向于能把事情讲清楚的那一类,不太追新。工具也一样,用得顺手就一直用,换工具的代价往往比想象中大。

在读

系统设计方面的经典书,配合几本关于写作的书一起看。前者教我怎么组织系统,后者教我怎么把它讲明白。

常用

终端、编辑器、版本控制,加上几支自己写的脚本。界面朴素,够用就好。

常看

项目文档和源码。文档讲它想做什么,源码讲它实际做了什么,两个都得看。

常写

排查记录、临时脚本、给同事的说明。写得越多,下次解释得越少。

能写下来,说明真的想清楚了。写不下来的部分,通常就是还没懂的地方。
05

联系CONTACT

如果文里的某件事正好也是你遇到的问题,欢迎在任意一篇记录下面留下你的想法。技术上的讨论我一向愿意聊,哪怕最后结论是「这条我也没搞明白」。

回复不一定及时,但看到就会回。