屠榜 CNCF!为什么在云原生时代,Go 语言能把 Java、C++ 和 Rust 堵在门外?

本文永久链接 – https://tonybai.com/2026/06/22/why-is-go-dominating-in-cncf-landscape 大家好,我是Tony Bai。 如果你去翻阅 CNCF(云原生计算基金会)的全景图(Landscape),你会发现一个极其震撼、甚至近乎垄断的现象: 从奠定容器时代基础的 Docker,到统治现代云编排的 Kubernetes;从服务网格的 Istio,到监控标准的 Prometheus;再到分布式协调的 Etcd、包管理器的 Helm、持续交付的 ArgoCD…… ...

June 22, 2026 · 8 min · Tony Bai

再见,丑陋的 container/heap!Go 泛型堆 heap/v2 提案解析

本文永久链接 – https://tonybai.com/2026/02/04/goodbye-container-heap-go-generic-heap-heap-v2-proposal 大家好,我是Tony Bai。 每一个写过 Go 的开发者,大概都经历过被 container/heap 支配的恐惧。 你需要定义一个切片类型,实现那个包含 5 个方法的 heap.Interface,在 Push 和 Pop 里进行那令人厌烦的 any 类型断言,最后还要小心翼翼地把这个接口传给 heap.Push 函数…… ...

February 4, 2026 · 7 min · Tony Bai

13万节点!Google 如何打破 Kubernetes 的物理极限,构建全球最大集群

本文永久链接 – https://tonybai.com/2025/11/26/how-google-built-a-130000-node-k8s-cluster 大家好,我是Tony Bai。 Kubernetes 的官方支持上限通常被认为是 5,000 到 15,000 节点。然而,在 AI 时代的算力军备竞赛中,这个数字显得有些“捉襟见肘”。 近日,Google Cloud 发布了一份重磅技术报告,揭示了他们如何在 GKE (Google Kubernetes Engine) 上成功运行了一个130,000 节点的超大规模集群——这是目前已知全球最大的 Kubernetes 集群,其规模是 GKE 官方支持上限(65,000 节点)的两倍,更是开源 Kubernetes 社区上限的近十倍。 ...

November 26, 2025 · 6 min · Tony Bai

一个 Kubernetes 集群的“珠峰攀登”:从 10 万到 100 万节点的极限探索

本文永久链接 – https://tonybai.com/2025/10/20/k8s-1m-intro 大家好,我是Tony Bai。 在云原生的世界里,Kubernetes 集群的规模,如同一座待征服的高峰。业界巨头 AWS 已将旗帜插在了 10 万节点的高度,这曾被认为是云的“天际线”。然而,一位前OpenAI工程师(曾参与OpenAI 7.5k节点的Kubernetes集群的建设)发起了一个更雄心勃勃、甚至堪称“疯狂”的个人项目:k8s-1m。他的目标,是向着那座从未有人登顶的、充满未知险峻的**“百万节点”**之巅,发起一次单枪匹马的极限攀登。 ...

October 20, 2025 · 7 min · Tony Bai

并发测试神器 synctest的“成人礼”:从goroutine泄漏到微妙的竞态,Go团队如何修复三大“首日bug”?

本文永久链接 – https://tonybai.com/2025/09/29/synctest-bugs-in-go-1-25 大家好,我是Tony Bai。 Go 1.25的发布,为我们带来了一个期待已久的“并发测试神器”—— testing/synctest。这个在Go 1.24中作为实验性功能首次亮相的包,承诺将我们从time.Sleep、channel和各种脆弱的同步技巧中解放出来,让我们能够编写出快速、可靠、确定性的并发测试。 ...

September 29, 2025 · 8 min · Tony Bai

“我们放弃了”——Go 团队坦诚布公,聊聊那些可能永远不会加入 Go 的功能

本文永久链接 – https://tonybai.com/2025/09/22/go-team-gave-up-on-features 大家好,我是Tony Bai。 在 GopherCon Europe 2025 的 Go 团队座谈会上,Michael Stapelberg(负责go protobuf)、Damien Neil(负责Go安全相关)、Michael Pratt(负责Go运行时和Go性能相关) 和 Jonathan Amsterdam(log/slog作者,负责Go工具相关) 四位核心成员与社区进行了一场坦诚的对话。他们不仅分享了诸如官方 MCP SDK、“裸金属”Go 等激动人心的进展,更以一种罕见的坦率,正面回应了社区长期以来关心的多个“老大难”问题——包括不可变类型、泛型错误处理和非 nil 指针。其中最引人注目的一句“我们放弃了”,几乎为 Go 语言在某些方向上的演进画上了句号。 ...

September 22, 2025 · 10 min · Tony Bai

解构Go并发之核,与Dmitry Vyukov共探Go调度艺术

解构Go并发之核,与Dmitry Vyukov共探Go调度艺术 - Tony Bai =============== Tony Bai 一个程序员的心路历程 Google Go语言编码风格规范 ...

June 18, 2025 · 3 min · Tony Bai

Go早期的那些布道者

本文永久链接 – https://tonybai.com/2024/05/17/the-early-evangelists-of-go Go自2009年开源至今已经快15年了!这期间,有很多人对Go语言的发展做出了重要贡献,起到了至关重要的作用,他们被视为Go语言的早期布道者和鼓吹者。他们向Go社区传达着Go的价值观、Go的最新发展、Go的使用方法以及最佳实践。 这些人有来自Go团队的,有来自Google但非Go团队的,也有Go的早期采纳者和贡献者。如今这些人的状况不尽相同。有些人依然在活跃在Go团队中,为Go的演进持续做着贡献;有些人由于各种原因,已经退居二线,但仍心系Go的发展;还有一些人则逐渐淡出Go社区,或者说不再复当年的那种热忱。 ...

May 17, 2024 · 16 min · Tony Bai

Go 1.18新特性前瞻:原生支持Fuzzing测试

本文永久链接 – https://tonybai.com/2021/12/01/first-class-fuzzing-in-go-1-18 今年6月初,Go官博发表了一篇名为《Fuzzing is Beta Ready》的文章,文中称gotip版本已经原生支持Fuzzing并开始了公测。这意味着Fuzzing将以一等公民(first-class citizen)的身份正式加入到即将于2022年2月发布的Go 1.18版本中: ...

December 1, 2021 · 18 min · Tony Bai

图解Go运行时调度器

本文翻译自《Illustrated Tales of Go Runtime Scheduler》。 译注:原文章结构有些乱,笔者自行在译文中增加了一些分级标题,让结构显得更清晰一些:)。 多goroutines形式的Go并发是编写现代并发软件的一种非常方便的方法,但是您的Go程序是如何高效地运行这些goroutines的呢? 在这篇文章中,我们将深入Go运行时底层,从设计角度了解Go运行时调度程序是如何实现其魔法的,并运用这些原理去解释在Go性能调试过程中产生的Go调度程序跟踪信息。 ...

March 21, 2020 · 16 min · Tony Bai