发布了文章6 月 26 日
本文摘录自我的书《Envoy Proxy 内幕》 最近的一些更新,包括:事件驱动框架 与 线程模型 。这些算是 Envoy Proxy 的基础核心了。大家都认为 Envoy 是一个 Proxy 。主要实现定制逻辑的请求转发。这点没错。但与拥有高负载低延迟要求的其它中间件一样。设计上必须考虑...
发布了文章6 月 14 日
本文介绍我的新开源书籍 - 《Envoy Proxy 内幕》。它是一本专注于 Envoy Proxy 机制和实现深入探讨的书。内容主要源于我之前写的《Istio & Envoy 内幕》一书。现在把 Envoy 部分单独抽出来,重新整理成一本书。这样做的目的是为了让读者更专注于 Envoy 的内容,而免...
发布了文章5 月 12 日
整个 2025 年 4 月。大概是我这辈子感觉上最漫长的一个月。从体检发现问题,找医生检查,确诊,选择手术医生,住院,人生首次走上手术台,最后到写本文时的恢复中。每一步,都是经历过心理冲击,抉择。
发布了文章3 月 31 日
为博客加入一个 chatbot 是件有趣也实用的事。它/他/她 可以基于博客内容和作者介绍文章,回答读者的一些简单问题。 ChatBlog(chat + blog) 或者是一个有趣有用的个人技术者互动分享模式。本文记录我的探索与实现过程。
发布了文章2 月 3 日
不知不觉,已经在现在工作的公司度过了 6 年。回望一下, 6 年前入职时的光景好像还在眼前。在离开前,或者适合回顾和思考这段时间的经历。工作上应用的技术一直在这个博客上更新,已经没什么好补充的了。不如写写这 6 年和之前工作的 14 年的区别,说一些好玩的事。
发布了文章2024-12-08
2024 年快要成为过去。2024 年初,我写了《2024, live like Sisyphus》 ,不知道是不是 墨菲定律(Murphy's Law) 生效,还是自己预感正确,这大概是我近 20 年来最艰难的一年了。还好,有很多有心人,和有声与无声的书本、音乐陪伴我。我这几年一直用 Spotify 来听音...
发布了文章2024-11-17
本文尽我所能,用了数月时间,在学习了 Java Virtual Theads 的一些设计和实现理念后,用我所能的精炼文字和画图,去记录我的所学。是我现在能找到的最深入全面的图解 Java Virtual Threads 文章。
发布了文章2024-11-14
我是个后端软件 Troubleshooting(故障解决) 爱好者。更准确地说,对 troubleshooting 已经有点像上瘾般的,难以自制的嗜好。这有时候是件好事,但有时候带出很多工作和生活上的困扰。无论如何,性格决定命运,既然改变不了,不如好好利用。
发布了文章2024-11-01
为了更高的性能、更高的内存利用率、更可靠的异常溢出保护机制,Java 重度重用了 Linux 的内存区 MMap 机制。k8s 容器环境下,内存使用预估也依赖于对它的理解。本文主讲 Java 的内存分区机制。
发布了文章2024-10-29
花数月时间,精心制作完成了《面向技术宅的 JVM 内幕》的 Safepoint 与 Threads Handshake 两节内容。是我现在能找到的全网最完整细致的 Safepoint 原理与实现分析。以下是节选内容。原文见:
发布了文章2024-10-20
内容概述:从 JVM 学习路书 说到 钻研开源的酒神精神。顺带说说 《面向技术宅的 JVM 内幕》 的更新内容。摘自我的开源书《面向技术宅的 JVM 内幕》 中 JVM 学习路书 一节。建议用电脑或平板阅读本书原文,排版、图片、结构、整体阅读体验更友好。
发布了文章2024-10-15
内容概述:Java Safepoint/Handshake 设计、实现原理剖析与求证 - 摘自我的开源书《面向技术宅的 JVM 内幕》 中 Safepoint 一节。本文是摘录整合文章。建议用电脑或平板阅读本书原文,排版、图片、结构、整体阅读体验更友好。
发布了文章2024-10-03
Serviceability Agent(SA) 原是 HotSpot 原码库中的 Sun 私有组件,由 HotSpot 工程师开发,用于协助调试 HotSpot OpenJDK。他们随后意识到 SA 可用于支持用户编写 serviceability tools ,因为它可以在运行中的进程以及 Core Dump 文件中检视 Java 对象以及 HotSpot...
发布了文章2024-09-23
由于堆栈是线程运行的 context,是运行引擎的热点核心数据。线程想触达到其它的在 heap 中的对象,几乎都要以这个 context 为根,去多次寻址才能触达 heap 中的目标数据 。可以说,这个 context 就是串联各功能模块的中心,用它可以找到上级函数返回点、入参、本函数...
发布了文章2024-09-02
不知不觉,以 Java 程序员的名义在职场混了 20 有余个年头。年纪渐长,就养成了一个年轻人最讨厌的毛病:总喜欢回望过去。我一直写书和博客,都在思考一个问题。我为什么,为谁在写东西? 总的回答是,我想留下和分享点东西,意义在于留下和分享的过程。读者当然越多...
发布了文章2024-08-04
所谓 Sidecarless 的 Istio Ambient ,严格来说,是由 sidecar container of pod 变成 sidecar pod of pods on a worker node。注意,这里我引入一个词:sidecar pod 。 要实现同一 worker node 上的 pod 共享一个 sidecar pod,就要解决把所有 pod 的流量导向到 sid...
发布了文章2024-07-06
Linux 大部分数据流动,包括进程间通讯,socket…… 均通过文件描述符(fd) 读写实现。在 troubleshooting 时,如果可以偷看到 fd 的流量,那么很多问题可以加速证明/证伪。本文介绍一个老工具 peekfd ,可以在一定环境中完成这个任务。
发布了文章2024-07-03
广州塔下搬砖望帝景source: 上图来源已经标注再別科橋悄悄地我走了,正如我悄悄地來;我最後發了個 farewell,作別當天的戰友。那科韻路的天橋,是每天職場朝聖之巔;地攤檔的人間煙火,心靈拷問:哦了麼?棠石路旁的都城,油膩雙拼是年終獎後的奢侈;而旁邊的金拱門...
发布了文章2024-06-24
本文以 ebpf_exporter 持续跟踪内核 TCP/进程v行为为例,介绍一种基于轻量 eBPF+Prometheus+Trace 的定制系统底层观察和观察数据集成方法。
发布了文章2024-06-12
Queen Christina of Sweden (left) and René Descartes(瑞典克里斯蒂娜女王(左)和笛卡尔(右))