Web Analytics

Go Proxy的“背景刷新”机制,是优化还是“DDoS”?一次社区事件引发的深度复盘

本文永久链接 – https://tonybai.com/2025/09/05/go-proxy-revise-background-refresh-pacing 大家好,我是Tony Bai。 2025年8月14日,Go开发者Ted Unangst发表了一篇措辞犀利的博文——《What is the go proxy even doing?》。他用服务器日志作为证据,公开质疑Go官方模块代理(proxy.golang.org)对其个人代码托管服务humungus.tedunangst.com产生了“洪水般”的、看似毫无意义的巨大流量。这个事件迅速在社区发酵,将一个通常在后台默默工作的核心基础设施,推上了风口浪尖。当然在我的印象中,这已经不是Go社区第一次“抱怨” 官方Go proxy的“诡异”行为给一些小型站点带来的烦恼了。 ...

September 5, 2025 · 7 min · Tony Bai

“简单”不是“容易”:Go开发者应该懂的5个道理

本文永久链接 – https://tonybai.com/2025/09/04/simple-is-not-easy 大家好,我是Tony Bai。 在软件工程领域,有些演讲如同灯塔,其光芒足以穿透时间的迷雾,持续为后来者指引方向。Clojure语言的创造者Rich Hickey在2011年的Strange Loop大会上发表的“Simple Made Easy”,正是这样一例。他以一种近乎哲学家的思辨,对我们行业中最被滥用、最被误解的两个词——“简单”(Simple)和“容易”(Easy)——进行了本源性的解构。 ...

September 4, 2025 · 8 min · Tony Bai

Gopher直通大厂,就从这第一课开始!

本文永久链接 – https://tonybai.com/2025/09/03/gopher-first-lesson-to-big-factory 大家好,我是Tony Bai。 很多计算机专业的同学们都在问:想进大厂,要先学好哪门编程语言? 从应用广泛程度来说,学好Go语言肯定错不了!我们来看一下大厂们都用Go在做哪些开发: ...

September 3, 2025 · 7 min · Tony Bai

成为更完整的 Go 工程师,从补上这堂系统编程课开始

本文永久链接 – https://tonybai.com/2025/09/01/system-programming-in-go 大家好,我是Tony Bai。 作为一名 Go 工程师,我们无疑是幸运的。这门语言为我们提供了简洁的语法、强大的并发模型和一套设计精良的标准库。我们能以极高的效率,构建出高性能的 Web 服务、数据管道和云原生应用。 ...

September 1, 2025 · 6 min · Tony Bai

从 0 到 1.5 亿 QPS:Uber 核心存储架构的十年演进与缓存设计哲学

本文永久链接 – https://tonybai.com/2025/09/01/uber-150-million-reads 大家好,我是Tony Bai。 在 Uber 这样体量的公司,其核心在线存储系统不仅要处理 PB 级的海量数据,还要以毫秒级的延迟响应每秒上亿次的请求。这一切是如何实现的?本文将深度整合 Uber 工程团队这几年公开发布的三篇文章,和大家一起穿越其核心存储架构的十年演进史:从最初为解决 MySQL 扩展性难题而生的 Schemaless,到拥抱 SQL 和强一致性的分布式数据库 Docstore,再到最终通过集成式缓存 CacheFront 将读取性能推向 1.5 亿 QPS 的极致。这是一个关于在 MySQL 之上构建分布式巨兽的真实故事,充满了工程上的权衡、妥协与创新。 ...

September 1, 2025 · 8 min · Tony Bai

“无聊”设计的终极奥义:为什么“做可能奏效的最简单的事”是最高法则?

本文永久链接 – https://tonybai.com/2025/08/31/the-simplest-thing-that-could-possibly-work 大家好,我是Tony Bai。 在我们解读了Github工程师Sean Goedecke关于“无聊即可靠”的系统设计和API设计理念之后,他再次带来了一篇精彩的的文章——《Do the simplest thing that could possibly work》。这既是对前两篇文章思想的延续,更是将其核心哲学提炼为一条终极黄金法则:在软件设计的每一个环节,都应“做可能奏效的最简单的事”。 ...

August 31, 2025 · 7 min · Tony Bai

Python简史:一个圣诞节的“私活”项目,如何改变了编程世界?

本文永久链接 – https://tonybai.com/2025/08/30/python-an-origin-story 大家好,我是Tony Bai。 在编程语言的星空中,很少有哪颗星像Python一样,以如此温和而坚定的姿态,从一个不起眼的个人项目,成长为照亮地球未来的科技灯塔。如今,当我们谈论数据科学、人工智能时,Python几乎是绕不开的默认选项。但这一切的起点,竟源于一位程序员在阿姆斯特丹的圣诞假期里,为了“打发时间”而开始的一个“私活”项目。 ...

August 30, 2025 · 10 min · Tony Bai

无聊的API是最好的API:从系统设计到接口契约的九条法则

本文永久链接 – https://tonybai.com/2025/08/29/good-api-design 大家好,我是Tony Bai。 在解读《Everything I know about good system design》一文时,我们曾提炼出一个核心观点:“无聊即可靠”。这个看似反直觉的法则,在追求创新与复杂的软件工程世界里,如同一股清流。现在,这个“无聊”哲学将从宏观的系统设计,延伸至微观但至关重要的领域——API设计。 Sean Goedecke在其后续力作《Everything I know about good API design》中,再次强调了这一理念。他认为,一个伟大的API,必然是“无聊”的。它不应追求新奇或有趣,而应像一把用了多年的锤子,让使用者拿起就能用,无需思考。 ...

August 29, 2025 · 9 min · Tony Bai

我的 Gopher “长期主义”:从《Go语言第一课》新书说起

本文永久链接 – https://tonybai.com/2025/08/28/go-primer-published 大家好,我是Tony Bai。 前不久,在知乎上看到一个关于 Go 社区的帖子,其中一条评论让我感慨良多: “GopherChina 都没了,国内还有几人坚持?Tony Bai好像还在更新” ...

August 28, 2025 · 8 min · Tony Bai

Go语言的“灵魂拷问”:接口只关乎行为,还是也应拥抱数据?

本文永久链接 – https://tonybai.com/2025/08/27/go-interface-embrace-data 大家好,我是Tony Bai。 在 Go 语言的世界里,接口(interface)一直被视为其设计哲学的基石之一——它只关心一个类型能做什么(行为),而不关心它是什么(结构)。这种基于方法集的鸭子类型,赋予了 Go 独一无二的灵活性和解耦能力。然而,随着 Go 1.18 泛型的到来,一个深刻的问题被摆上了台面:当我们需要编写对数据的结构而非行为具有通用性的代码时,现有的约束机制是否足够? ...

August 27, 2025 · 7 min · Tony Bai