服务治理技术选型

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:负责服务通信治理

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

相关推荐
小羊没烦恼!2 天前
微服务化的基石——持续集成
java·大数据·word·powerpoint·.net
俊昭喜喜里2 天前
java中的继承和多态的区别
java
小羊没烦恼!2 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
譕痕2 天前
JSONObject与JSONArray封装数据格式区别
java·json
胡写代码2 天前
别再前后端各写一套表单校验了
java·后端
小鱼能吃糖2 天前
缺陷修复总览 · mall电商项目:5类缺陷,1个病根,4个业务域
java·电商
此时不提桶,更待何时2 天前
01-06-A-JVM排查实战详解
java·jvm
vipxieliang2 天前
ValidX 在 DDD 领域驱动设计中的实践
java·spring boot
ba_pi2 天前
mysql 查询所有表名并授权
java
ProcessOn官方账号2 天前
java函数式编程--入门基础
java·编程·函数式编程