服务治理技术选型

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

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

相关推荐
哦虎!3 小时前
【JavaEE】网络初识
java
for_ever_love__3 小时前
MySQL ORDER BY 排序优化:从 Using filesort 到索引有序扫描(含双路 / 单路排序原理)
java·mysql·优化·存储·by·order·filesort
我是人✓4 小时前
Java文件上传三方式对比:从传统到SpringBoot
java·开发语言
欣栀♡4 小时前
JVM 频繁 Full GC 先看日志括号里的 cause,jstat 的 FGC 在 JDK 8 上会骗人
java·jvm
IT研究室4 小时前
最新计算机毕业设计选题推荐-基于spring boot的葡萄酒文化宣传网站-网站-文档指导-Java-springboot
java·spring boot·课程设计
慧都小项4 小时前
MyEclipse 中创建和测试 JAX-RS REST 接口:从项目配置到 REST Explorer
java·restful·myeclipse·jax-rs
Wang's Blog4 小时前
Java 项目实战: 交友项目 - 入门案例:编写 Dubbo 服务提供者
java·dubbo·交友
秋饼5 小时前
Spring AI 2.0 结构化输出企业级实战:从 BeanOutputConverter 源码到生产级解析容错
java·ai·技术分享·后端开发
摇滚侠5 小时前
《计算机是如何工作的:人人都能懂的计算机软硬件工作原理》第 9 章 机器码与汇编语言 阅读笔记 9
java·开发语言·笔记
Cc.Y5 小时前
Java零基础入门:深入Java核心:文件IO与序列化全解
java·开发语言·python