服务网格 专栏导览
专栏定位
本专栏聚焦 服务网格(Service Mesh)的架构设计与核心原理——从微服务通信治理的痛点出发,深入 Sidecar 代理模式的设计哲学,以 Istio + Envoy 为核心分析对象,覆盖流量管理(VirtualService/DestinationRule)、安全通信(mTLS/Authorization Policy)、可观测性(分布式追踪/指标采集/访问日志)以及数据面 Envoy 的内部架构。
服务网格将微服务治理能力(负载均衡、熔断、限流、重试、灰度发布、双向 TLS)从应用代码中剥离到基础设施层——应用开发者只需关注业务逻辑,治理能力由网格透明提供。理解服务网格的工作原理,是构建云原生微服务架构的关键能力。
目标读者
- 正在或计划在 Kubernetes 集群中引入服务网格的平台工程师/SRE
- 需要理解 Istio 流量管理和安全策略的微服务架构师
- 对 Envoy 代理和 xDS 协议感兴趣的基础设施工程师
专栏目录
| 序号 | 标题 | 核心内容 |
|---|---|---|
| 01 | 01 服务网格概述——从微服务治理痛点到 Sidecar 模式 | 微服务通信的挑战(服务发现/负载均衡/熔断/重试/安全认证)、SDK 侵入式治理的问题、Sidecar 代理模式的设计理念、Service Mesh 的定义与演进(Linkerd → Istio)、与 API Gateway/Dubbo 的定位差异 |
| 02 | 02 Istio 架构——控制面与数据面的职责分离 | Istio 架构演进(微服务组件 → istiod 单体)、istiod 的三大功能(Pilot/Citadel/Galley)、Sidecar 注入机制(MutatingAdmissionWebhook)、xDS 协议(LDS/RDS/CDS/EDS)的配置下发 |
| 03 | 03 Envoy 代理——线程模型、Filter 链与连接管理 | Envoy 的线程模型(Main Thread + Worker Threads)、Listener → Filter Chain → Cluster 的请求处理链路、HTTP Connection Manager 的路由匹配、连接池管理与健康检查、Envoy 的热重启(Hot Restart) |
| 04 | 04 流量管理——VirtualService、DestinationRule 与灰度发布 | VirtualService 的路由规则(URI 匹配/Header 匹配/权重分流)、DestinationRule 的负载均衡策略与连接池配置、金丝雀发布(Canary)与 A/B 测试、故障注入(Fault Injection)的混沌工程实践 |
| 05 | 05 安全——mTLS、认证与授权策略 | Istio 的证书管理(Citadel 签发/SPIFFE 身份)、PeerAuthentication 的 mTLS 模式(STRICT/PERMISSIVE)、RequestAuthentication 的 JWT 验证、AuthorizationPolicy 的 RBAC 授权、零信任网络的实践 |
| 06 | 06 可观测性——分布式追踪、指标与访问日志 | Envoy 的 Span 注入与追踪集成(Jaeger/Zipkin)、Istio 的 Prometheus 指标(请求量/延迟/错误率)、Kiali 的服务拓扑可视化、访问日志的格式配置与采集、与 可观测 体系的集成 |
| 07 | 07 服务网格的性能开销与 Ambient Mesh | Sidecar 模式的资源开销(CPU/内存/延迟)、性能基准测试与调优建议、Ambient Mesh(无 Sidecar 模式)的 ztunnel + Waypoint 架构、Sidecar vs Ambient 的适用场景、服务网格的未来演进 |
推荐阅读路径
核心原理路径:01 → 02 → 03
流量与安全路径:04 → 05
可观测与演进路径:06 → 07
前置知识
- Kubernetes 基础(Pod/Service/Deployment/Namespace)——服务网格运行在 K8s 之上
- 微服务架构基础概念(服务发现、负载均衡、熔断)
- 建议了解 Netty 或 Go 网络编程(有助于理解 Envoy 的代理机制)