istio
请定量证明这是网络的锅 —— 我思,故 Envoy sidecar 在
· ☕ 5 åˆ†é’Ÿ
网络丢包等网络质量的问题,可以用 Envoy sidecar 来发现、定量、监控。测试时,可用 Envoy 作为 JMeter 等 client side 的 egress 去监控流量。本文谈其中一个实现方案

图解 Istio & Envoy 请求处理流程、超时、熔断、指标监控 - 加入 http2
· ☕ 6 åˆ†é’Ÿ
要实现 Istio 网格节点故障快速恢复,需要深入理解其请求的处理流程。本文图解 Istio & Envoy 请求处理流程、超时、熔断、指标监控

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

Envoy/Istio 的拥塞流控与背压 - 看遍了冷冷清風吹飄雪 漸厚
· ☕ 15 åˆ†é’Ÿ
和所有代理类型的软件一样,Envoy 很重视流控,因为CPU/内存资源是有限的。但流控永远不是一个简单的事情。它牵扯到数据流路径上的所有参与者。本文试图说明白其中的原理与协作关系。

细说 Envoy 的事件与 NetworkFilter 框架 —— 机关算尽太聪明
· ☕ 8 åˆ†é’Ÿ
Istio 的流量核心是 Envoy。而 Envoy 的核心是事件架构。明白了事件架构,深入研究 Envoy 就不难了。本文尝试分析 Envoy 的事件与 NetFilter 的设计架构。

分析 Java 应用在 Istio 下的 warm up
· ☕ 7 åˆ†é’Ÿ
Java 应用的 warm up(预热),包括类加载、编译、应用自身初始化(如连接池)等。在 Istio 环境下,两个技术栈叠加,又有微妙的化学反应

调试与观察 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。

Envoy/Istio 连接生命周期与临界异常 —— 不知所谓的连接 REST
· ☕ 20 åˆ†é’Ÿ
说明 Envoy 连接控制相关参数作用。以及在临界异常情况下的细节逻辑。目标是如何减少连接异常而引起的服务访问失败,提高服务成功率。