什么是 服务网格
服务间通信的基础设施层
服务网格
服务网格是用于管理微服务之间通信的专用基础设施层。它在不更改应用程序代码的情况下提供可观测性、安全性和可靠性。
架构
| 组件 | 角色 | 示例 | |------|------|------| | 数据平面 | 每个服务旁边的Sidecar代理 | Envoy, Linkerd-proxy | | 控制平面 | 配置和策略管理 | Istiod, Linkerd控制平面 |
主要功能
- 流量管理 — 负载均衡、金丝雀、熔断器
- 安全 — mTLS、授权、加密
- 可观测性 — 指标、追踪、日志
- 策略 — 限流、重试、超时
流行解决方案
| 解决方案 | 特点 | |----------|------| | Istio | 功能齐全,复杂 | | Linkerd | 轻量级,易于使用 | | Consul Connect | HashiCorp生态系统集成 | | Cilium | 基于eBPF,高性能 |
何时需要服务网格
- 大量微服务(50+)
- 服务间需要mTLS
- 需要详细的可观测性
- 复杂的路由规则
- 合规要求(PCI DSS, SOC 2)
何时不需要
- 单体应用
- 服务较少(< 10)
- 简单架构
- 没有维护资源