envoy
Imagine: jEnvoy = pid(Java + Envoy) - 脑洞还是脑残
· ☕ 3 分钟
人们想要 service mesh 的低代码服务网格,但同时对 CPU 资源消耗与服务延迟的增加忧心重重。于是出现了各种 Sidecar-Less。本文想像一个把 Envoy 嵌入 jvm,作为一个 Servlet Container 的设计,希望达到性能、资源效益、低代码服务网格的平衡。

Istio 基于 ALPN/TLS 握手的 HTTP 元信息交换
· ☕ 8 分钟
为实现服务网格,Istio Proxy 需要在网点互连握手时作元信息交换。故 Istio 在原生 Envoy 上再定制了传输层的规约,以实现元信息交换。

调试与观察 istio-proxy Envoy sidecar 的启动过程
· ☕ 7 分钟
学习 Istio 下 Envoy sidecar 的初始化过程,有助于理解 Envoy 是如何构建起整个事件驱动和线程互动体系的。其中 Listener socket 事件监初始化是重点。而获取这个知识最直接的方法是 debug Envoy 启动初始化过程,这样可以直接观察运行状态的 Envoy 代码,而不是直接读无聊的 OOP 代码去猜现实行为。但要 debug sidecar 初始化有几道砍要过。本文记录了我通关打怪的过程。

调试 Istio 网格中运行的 Envoy sidecar C++ 代码
· ☕ 5 分钟
调试在 Istio 网格中运行的 Envoy sidecar C++ 代码。 它有助于在代码级别深入研究 sidecar。 它使我们在解决 Istio 问题或编写更好的 EnvoyFilter 或 eBPF 跟踪程序时更有信心。 本文介绍如何使用 VSCode 和 lldb 调试 Envoy istio-proxy sidecar。