惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

G
GRAHAM CLULEY
V
V2EX
WordPress大学
WordPress大学
博客园 - Franky
Last Week in AI
Last Week in AI
博客园 - 司徒正美
有赞技术团队
有赞技术团队
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 【当耐特】
V
Visual Studio Blog
C
CERT Recently Published Vulnerability Notes
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Jina AI
Jina AI
Attack and Defense Labs
Attack and Defense Labs
腾讯CDC
The Hacker News
The Hacker News
Hugging Face - Blog
Hugging Face - Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
J
Java Code Geeks
人人都是产品经理
人人都是产品经理
阮一峰的网络日志
阮一峰的网络日志
T
Tailwind CSS Blog
S
SegmentFault 最新的问题
大猫的无限游戏
大猫的无限游戏
小众软件
小众软件
A
Arctic Wolf
量子位
博客园 - 聂微东
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
N
News and Events Feed by Topic
雷峰网
雷峰网
博客园_首页
Google Online Security Blog
Google Online Security Blog
Spread Privacy
Spread Privacy
罗磊的独立博客
H
Hacker News: Front Page
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
月光博客
月光博客
TaoSecurity Blog
TaoSecurity Blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
博客园 - 三生石上(FineUI控件)
宝玉的分享
宝玉的分享
IT之家
IT之家
The Cloudflare Blog
爱范儿
爱范儿
博客园 - 叶小钗
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Apple Machine Learning Research
Apple Machine Learning Research
酷 壳 – CoolShell
酷 壳 – CoolShell

暗无天日

读:AI Agent 安全日志——从可见性与隐私的两难说起 - 暗无天日 AI写作的语言指纹——如何让文字不那么像机器 - 暗无天日 读:50 条 Claude Code 技巧——一个工程经理的六个月使用心得 读:AI 辅助开发为什么让 E2E 测试更有价值 - 暗无天日 读:在Emacs中使用Claude Code(Spacemacs适配版) - 暗无天日 Claude Code 背后的工程哲学——读 Agent Harness Engineering 读:Agent Harness Engineering——AI 智能体不只是模型,还有套件 - 暗无天日 browser-harness:让 AI 直接接管你的浏览器 - 暗无天日 读:Security-First CI/CD —— DevSecOps 自动化实践指南 TIL: 数字小键盘的小数点陷阱与行内算术求值 - 暗无天日 读:Immutability 不是万能药,它是一种权衡 - 暗无天日 Conducty:给 Claude Code 加上项目记忆和并行执行能力 - 暗无天日 读 — GitHub Trending 里的 Claude Code 技能包 读 — Prompt Caching 省钱指南 TIL: Emacs 中那些跟鼠标配合的冷门快捷键 - 暗无天日 读:Anvil——把 Emacs 变成 AI 的工具服务器 读:Emacs 代码折叠终极指南 - 暗无天日 读:Clojure 搭车客指南 - 暗无天日 git推送失败后恢复仓库损坏的完整记录 - 暗无天日 多智能体系统的两个有效模式——以及对 Claude Code 用户的启示 - 暗无天日 用 Org Babel 写 Literate 博文:扩展执行 + 定制导出 proced:Emacs 内置的进程查看器 - 暗无天日 从 proced 定制中学到的 Elisp 模式 读:让 Emacs proced 在 macOS 上显示 CPU 和内存 异步编程的函数着色税 - 暗无天日 链式调用的代价:JavaScript 和 Clojure 的共同教训 - 暗无天日 hyperfine:命令行基准测试工具 - 暗无天日 管道中的变量去哪了?——子 shell 作用域陷阱 - 暗无天日 开源包装器的信任陷阱:四个危险信号 - 暗无天日 程序员愿意为 AI 写文档,却不愿为同事写 - 暗无天日 mktemp: Shell 脚本中临时文件的安全陷阱与最佳实践 - 暗无天日 WSL9x —— 在 Windows 9x 里跑 Linux 内核 6.19 用 ox.el 做你想做的事 —— org-export 高级编程指南 读:Hot-wiring the Lisp Machine —— 用纯 Elisp 构建零依赖的 Org 静态站点生成器 Elisp 性能优化的六个实战教训 - 暗无天日 fcitx5 下 Emacs 无法切换输入法的排查 - 暗无天日 ERT 测试交互命令的三种方式 - 暗无天日 SEM Assistant: 当 Elisp 守护进程遇上 LLM 用 dmsg 给 Elisp 加上结构化调试日志 用 org-habit 追踪非每日习惯 - 暗无天日 Clojure X-Men:当编程语言特性变成超能力 - 暗无天日 TIL: 用 diff-hl 在 fringe 中显示 git 变更 读:llm-test —— 用 LLM agent 驱动 Emacs 测试 TIL: AI 时代的橡皮鸭调试 - 暗无天日 fcitx 启动后键盘输入卡顿的排查 - 暗无天日 TIL: 早期网页的图片热区导航 - 暗无天日 读 Seeing the Whole System 用 Emacs 自动生成每周链接推荐 - 暗无天日 读:ASCII control characters in my terminal 读 What to learn - 暗无天日 Lisp 的括号之痛——一个愚人节玩笑揭开的老伤疤 - 暗无天日 一本书该"线性读"还是"并行读" - 暗无天日 读 How to Monetize a Blog:一篇伪装成变现指南的讽刺文 Python Mock 第三方依赖的四种策略 - 暗无天日 Emacs Lisp 热重载实用指南 - 暗无天日 Prot 的 Emacs 配置哲学 - 暗无天日 TIL: 从直播对谈中学到的三个 Emacs 技巧 - 暗无天日 TIL: 自动使用项目虚拟环境的 Python - 暗无天日 TIL: 让 Help buffer 自动获得焦点 一条命令让本地开发用上 HTTPS —— slim 工具介绍 用 fsck 检查和修复 Linux 文件系统 排查Linux进程"卡死"实战:从strace到gdb全流程 - 暗无天日 PostgreSQL 索引:从基础到你可能不知道的高级用法 - 暗无天日 用 .pdbrc 自定义 Python 调试器 ANSI 转义码的标准化现状 - 暗无天日 终端程序的潜规则 - 暗无天日 PARA Org-mode 测试配置 - 暗无天日 AI越强越辣鸡?控制论说这是必然的 - 暗无天日 AI 越强越需要你盯着——反馈循环实操指南 - 暗无天日 你的AI代理正在偷你的密钥——四种你没想到的泄露通道 - 暗无天日 LLM 在 DevOps 中的三种角色 - 暗无天日 写作风格的反建议 - 暗无天日 反驳本质复杂性——Dan Luu 论为什么《没有银弹》错了 - 暗无天日 文件充满了危险——Dan Luu 谈文件系统的可靠性陷阱 - 暗无天日 AI 时代的 PARA 方法:用 Org-mode 和 AI 打造个人知识管理系统 Linux 数据去重学习笔记 - 暗无天日 创建跨平台 ZIP 文件的隐藏陷阱:Extra Field - 暗无天日 X11 Forwarding 排障指南 - 暗无天日 IP欺骗端口扫描:当别人冒充你去扫描别人 - 暗无天日 Linux 输入栈全景解析:从硬件按键到屏幕响应 - 暗无天日 Unix 系统中那些被埋没的配置开关——以 FontConfig 为例 - 暗无天日 在Linux上限制儿童使用电脑 - 暗无天日 GIF不仅仅是一种图片格式——用GIF流做些奇怪的事 - 暗无天日 Leiningen 学习笔记:Clojure 项目构建与管理从入门到实战配置 - 暗无天日 Google SRE Book 读书笔记 - 暗无天日 yes 管道 head 发生了什么 - 暗无天日 为什么 nohup 在 crontab 中不起作用 Bash中的Indirection与Nameref - 暗无天日 Linux PAM 简介 - 暗无天日 从Linux ISO文件启动计算机 - 暗无天日 用 Bash 打造一个Screen Locker 用GitHub Actions自动构建EGO博客 - 暗无天日 blocking I/O 的作用 - 暗无天日 mobileog 手机端同步提示Error:2 No such file 的解决方法 回收 WSL2 VHDX 文件占用空间 使用 org-mode columnview 生成任务列表 - 暗无天日 Emacs 作为 MPD 客户端 - 暗无天日 移动文件路径却不破坏org file link的方法 - 暗无天日 如何合理的导出help link 成HTML - 暗无天日 笑话理解之Biology - 暗无天日
读:那些年我 Oncall 学到的事 - 暗无天日
lujun9972,Claude Code · 2026-06-01 · via 暗无天日

目录

  • 技术面的教训
    • 不要看平均值,看尾部延迟
    • 大多数时候快,不如大多数时候可预测
    • 简洁架构在危机时刻最值钱
    • 运维能力来自设计阶段
  • 人际面的教训
    • 认错是重建信任最快的方式
    • 关键时刻建立的情谊最牢固
    • 新手期被肯定的价值
  • 结语

yaoyue.org 上有一篇回顾 oncall 经历的文章。作者在 Twitter 负责分布式缓存 7.5 年(2010 年到 2017 年)。那不仅是 Twitter 吞吐量最高的服务(按每秒请求数算),也是事故频发的服务。他和 Dan Luu 一起做的缓存事故调查中,记录了至少十几起严重的全站级故障。可以说,是 oncall 把他塑造成了现在这个样子。

技术面的教训

不要看平均值,看尾部延迟

大多数监控面板显示的是平均响应时间,但平均值会平滑掉大量小数值,把真正影响用户体验的慢请求盖住。在大规模系统里, 尾部延迟 (tail latency,最慢的那一小部分请求的响应时间)比平均值更能反映真实状况。作者学到的第一课,平均延迟好看不顶用,用户实际感受到的是尾部的慢请求。

大多数时候快,不如大多数时候可预测

响应偶尔很快但不稳定,比稳定但稍慢更糟糕。因为你的下游服务和调用方依赖的是可预期的行为,如果系统有时 10ms 有时 5s,调用方只能按最坏情况做超时和重试,整体效率反而更低。稳定的慢不算大事,规划和容忍都没问题。不稳定的快才真要命。

简洁架构在危机时刻最值钱

故障发生时每一秒都珍贵。如果架构足够简洁,你扫一眼就能判断问题出在哪个环节,不用在多层抽象和间接引用里绕来绕去。教科书不会告诉你的那些设计取舍,像应用和环境的交互、服务之间的深层依赖,只有在线上故障的压力下才真正暴露出来。真到那时候,你有时间慢慢查吗?简洁架构的价值就是让你在最没时间思考的时候,能最快想清楚。

运维能力来自设计阶段

作者列了四个方面,全都是在设计阶段就得想好的事,不是上线前两周能补的,

  • 可观测性 ,日志、指标、链路追踪的接入点要在代码结构里预留好,而不是出事后才到处加埋点
  • 一致性配置 ,所有环境的配置走同一套模板和管理流程,而不是每个环境手改
  • 自动化就绪 ,部署、扩容、回滚这些操作从一开始就设计成可脚本化的,不留只有某个老员工知道怎么操作的手工步骤
  • 合理的默认值 ,连接池大小、超时时间、重试策略这些参数,默认值就应该适合生产环境,而不是拿开发环境的配置上线

这些在出事之前看起来都是可有可无的事,但等故障来了,你就会发现没有它们什么都干不了。作者的工程品味始终带着运维的视角,即使不再 oncall 了,这种眼光也一直没丢。

人际面的教训

认错是重建信任最快的方式

Twitter 早期把时间线存在 Memcached 里,这些对象长度不固定,随时间不断增长。定期重启 Memcached 释放内存是必要的维护操作,但重启本身也可能触发全站故障。有一次他的失误导致别人花了几小时救火。他没有找理由也没遮掩,直接承认是自己的问题。结果出乎他意料,没有指责、没有追责,同事反而更信任他了。他后来才明白,出了事大家都想知道发生了什么。坦诚认错等于告诉别人,「我知道了,不会再犯」,反而是重建信任最快的方式。

关键时刻建立的情谊最牢固

有些故障的根因落在自己不懂的领域,内核、BMC 这些,靠自己一辈子也搞不定。只能不断追踪、缩小范围,然后靠各基础设施团队帮忙。作者说关键时候培养的情谊是最牢固的。那些在故障中一起想办法的队友,帮他补盲点的同事、教他操作技巧的运维、主动分流流量的上游负责人、把他的模糊问题翻译成明明白白解释的内核工程师,大家忙完一起庆祝。这种战友情,日常工作中培养不出来。

新手期被肯定的价值

作者的第一个经理在他还是菜鸟的时候就肯定他,鼓励他往前走。这不是什么复杂的领导技巧,但就是那句「你做得不错,继续成长」让他在后来的团队管理中也学会了这样对待新人。

结语

Oncall 的价值不在于处理了多少告警。它让你不再活在纸面上了。代码一跑,一出事,所有假设都被打回原形,你才真正理解软件是怎么运作的。以及在这个过程中,结识那些跟你一起扛雷的人。