Istio
你可能会说
微服务之间要 mTLS、限流、灰度,每个服务都改代码?
Kubernetes 上的服务网格Sidecar 拦截流量,统一做 mTLS、重试、熔断、灰度、遥测,业务代码无感;复杂度和资源开销是代价。
也常被叫作服务网格Service Mesh
什么时候选它
- 多语言微服务的统一治理
- 需要零信任 mTLS 与细粒度授权
- 灰度、金丝雀、流量镜像
什么时候别选
- 服务数量少(SDK 或网关就够)
- 团队没有 K8s 与服务网格运维能力
- 延迟预算极紧(sidecar 有额外开销)
容易混在一起 · 怎么分
Istio≠Spring Cloud
Istio 语言无关、业务无侵入;Spring Cloud 是应用内方案,Java 生态完整但每个服务都要引入依赖。
Q面试会问什么
- 问:Sidecar 怎么拦流量?
答:注入 iptables 规则,把进出 Pod 的流量重定向到同 Pod 的 Envoy。 - 问:和 Spring Cloud 的区别?
答:Istio 在基础设施层、多语言通用;Spring Cloud 在应用内,Java 专属。
延伸阅读 · 权威出处