服务治理技术选型

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

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

相关推荐
码智社1 小时前
Java实现RSA密钥生成、加密解密、加签验签
java
wear工程师1 小时前
ThreadLocal 在线程池里为什么会串数据:别只会答内存泄漏
java·后端
Iruoyaoxh1 小时前
栈和队列~
java·开发语言
审小匠OpenCPAi1 小时前
银行流水核查怎么自动化?单边匹配、双向勾稽与图聚类异常检测的工程对比
java·前端·人工智能·python·审计
码上上班1 小时前
docker课程
java·docker·容器
腻害兔2 小时前
【若依项目-产品经理视角】RuoYi-Vue-Pro 源码拆解:CRM 客户关系模块深度解析——从线索到回款,一套完整的 B2B 销售闭环是怎么搭的?
java·前端·javascript·vue.js·产品经理·ai编程
达子6662 小时前
第9章_HarmonyOs图解 用Java开发UI
java·ui·harmonyos
龙虾PRO4 小时前
能源与股票量化核心差异,AI全链路落地实操手册
java·面试·职场和发展
llwszx4 小时前
【Java/Go后端手撸原生Agent(第九篇):Plan-and-Execute规划模式——从“走一步看一步“到“先谋后动“】
java·python·golang·agent开发·plan模式·规划执行模式
ZJH__GO4 小时前
网络编程v2--多客户端互通
java·运维·服务器·开发语言·计算机网络