服务治理技术选型

Istio 是一个开源的**服务网格(Service Mesh)**平台,主要用来管理微服务之间的通信。

可以把它理解成:

👉 在系统里"所有服务之间通信的中间层管家"。

如果说 Kubernetes 负责"部署和调度服务",

那 Istio 负责"服务之间怎么通信、怎么控制、怎么监控"。

在微服务架构里,会有很多复杂问题:

  • 服务之间怎么调用?(A 调 B)
  • 调用失败怎么办?重试?熔断?
  • 怎么做灰度发布 / 金丝雀发布?
  • 怎么统计调用延迟、成功率?
  • 怎么保证通信安全(加密、认证)?

👉 这些问题如果写在业务代码里,会非常乱。

Istio 的作用就是:
把这些"通用通信能力"从业务代码里抽出来统一处理。

Istio 通过一个很关键的设计:

Sidecar(边车模式)

每个服务旁边都会多一个代理(通常是 Envoy):

复制代码
服务A  ↔  Sidecar代理A  ↔  Sidecar代理B  ↔  服务B

👉 所有流量都会经过代理,而不是服务直接通信。

这样带来的好处:

  • 不改业务代码就能控制流量
  • 可以统一做限流、重试、日志
  • 可以插入安全策略(mTLS)

它能做

1️⃣ 流量管理

  • 灰度发布(10%流量到新版本)
  • A/B测试
  • 路由控制

2️⃣ 可观测性

  • 请求成功率
  • 延迟
  • 调用链追踪(Tracing)

3️⃣ 安全

  • 服务间自动加密(mTLS)
  • 身份认证
  • 权限控制

4️⃣ 容错能力

  • 超时
  • 重试
  • 熔断

和 Kubernetes 的关系

  • Kubernetes:负责部署、扩缩容
  • Istio:负责服务通信治理

👉 两者是互补关系,不是替代关系。

相关推荐
吴声子夜歌5 小时前
Guava——并发(一)
java·guava
天空属于哈夫克35 小时前
企业微信API:企业微信如何实现自动化运营?
java·自动化·企业微信
lhldsg5 小时前
相册印刷实战指南:从设计规范到系统落地全流程解析
java·小程序·架构·设计规范
草青工作室5 小时前
java-不携带Token也能“打“自己的接口:一个绕开网关鉴权、用 URL 直接调度 SpringMVC 方法的轻量级定时任务方案
java·开发语言
霸道流氓气质5 小时前
Spring AI提示词模板与动态变量替换
java·python·spring
Object_SC5 小时前
java 中的泛型
java
s_w.h6 小时前
【 linux 】线程互斥与同步
java·linux·服务器·开发语言
学长毕业设计6 小时前
基于SpringBoot的校园二手物品交易系统(源码+文档+讲解视频)
java·spring boot·后端
观无6 小时前
若依AOP
java
是2的10次方啊6 小时前
日志不是越多越好:开发优化、常见坑与线上排查命令
java