我的新书 - 《Istio & Envoy 内幕》 📅 2024年04月21日 · ☕ 5 分钟 《Istio & Envoy 内幕》- 一本专注于 Envoy Proxy & Istio 机制和实现深入探讨的书
Envoy/Istio 的拥塞流控与背压 - 看遍了冷冷清風吹飄雪 漸厚 📅 2024年04月06日 · ☕ 15 分钟 和所有代理类型的软件一样,Envoy 很重视流控,因为CPU/内存资源是有限的。但流控永远不是一个简单的事情。它牵扯到数据流路径上的所有参与者。本文试图说明白其中的原理与协作关系。
细说 Envoy 的事件与 NetworkFilter 框架 —— 机关算尽太聪明 📅 2023年12月02日 · ☕ 8 分钟 Istio 的流量核心是 Envoy。而 Envoy 的核心是事件架构。明白了事件架构,深入研究 Envoy 就不难了。本文尝试分析 Envoy 的事件与 NetFilter 的设计架构。
调试与观察 istio-proxy Envoy sidecar 的启动过程 📅 2023年06月07日 · ☕ 7 分钟 学习 Istio 下 Envoy sidecar 的初始化过程,有助于理解 Envoy 是如何构建起整个事件驱动和线程互动体系的。其中 Listener socket 事件监初始化是重点。而获取这个知识最直接的方法是 debug Envoy 启动初始化过程,这样可以直接观察运行状态的 Envoy 代码,而不是直接读无聊的 OOP 代码去猜现实行为。但要 debug sidecar 初始化有几道砍要过。本文记录了我通关打怪的过程。
调试 Istio 网格中运行的 Envoy sidecar C++ 代码 📅 2023年05月10日 · ☕ 5 分钟 调试在 Istio 网格中运行的 Envoy sidecar C++ 代码。 它有助于在代码级别深入研究 sidecar。 它使我们在解决 Istio 问题或编写更好的 EnvoyFilter 或 eBPF 跟踪程序时更有信心。 本文介绍如何使用 VSCode 和 lldb 调试 Envoy istio-proxy sidecar。
Envoy/Istio 连接生命周期与临界异常 —— 不知所谓的连接 REST 📅 2023年01月11日 · ☕ 20 分钟 说明 Envoy 连接控制相关参数作用。以及在临界异常情况下的细节逻辑。目标是如何减少连接异常而引起的服务访问失败,提高服务成功率。
图解 Istio & Envoy 请求处理流程、超时、熔断、指标监控 📅 2022年10月01日 · ☕ 6 分钟 要实现 Istio 网格节点故障快速恢复,需要深入理解其请求的处理流程。本文图解 Istio & Envoy 请求处理流程、超时、熔断、指标监控
上帝和 Istio 打架时,程序员如何自我救赎? —— 记一次开发 Envoy WASM Filter 修正任性的 HTTP Header 📅 2022年05月28日 · ☕ 7 分钟 在未引入 Istio 前正常 HTTP 200 的请求,引入后变为 HTTP 400 。出现问题的流量均带有不合 HTTP 规范的 HTTP Header。于是尝试开发 Envoy WASM Filter 修正错误的 HTTP Header 。
逆向工程与云原生现场分析 Part4 —— eBPF 跟踪 Istio/Envoy 之 upstream/downstream 事件驱动协作下的 HTTP 反向代理流程 📅 2022年04月04日 · ☕ 13 分钟 eBPF 跟踪 Istio/Envoy 之 upstream/downstream 事件驱动协作下的 HTTP 反向代理流程
逆向工程与云原生现场分析 Part3 —— eBPF 跟踪 Istio/Envoy 事件驱动模型、连接建立、TLS 握手与 filter_chain 选择 📅 2022年03月20日 · ☕ 17 分钟 使用 eBPF 技术和 bpftrace 工具,eBPF 跟踪 Istio/Envoy 之事件驱动模型、连接建立、TLS 握手与 filter_chain 的选择
逆向工程与云原生现场分析 Part2 —— eBPF 跟踪 Istio/Envoy 之启动、监听与线程负载均衡 📅 2022年03月13日 · ☕ 14 分钟 使用 eBPF 技术和 bpftrace 工具,跟踪 envoy/Istio sidecar proxy 的启动与监听 socket 行为。并进行源码级的分析。