跳到主要内容

1 篇博文 含有标签「Istio」

Istio 服务网格、零信任安全、流量治理与生产实践

查看所有标签

Istio 1.31 生产实战:Java、Go、Rust 的 REST、gRPC、零信任与流量治理

· 阅读需 57 分钟
Rainy
雨落无声,代码成诗 —— 致力于技术与艺术的极致平衡

外部使用 REST,不代表内部也必须使用 REST;内部使用 gRPC,也不代表每个语言都要各自维护证书、重试、负载均衡和访问控制。Istio 的价值,是把跨语言的网络治理收敛到统一的数据平面和策略层。

本文不从 Bookinfo 示例开始,而是搭建一条更接近真实生产系统的链路:

外部客户端
→ HTTPS / REST
→ Istio Ingress Gateway
→ Java Web API
→ gRPC
→ Go Order Service
→ gRPC
→ Rust Inventory Service
→ PostgreSQL

三个服务只实现业务协议,Istio 负责入口、东西向 mTLS、工作负载身份、流量分配、超时、异常实例摘除和基础遥测;应用仍负责业务权限、幂等、事务、数据加密和 Trace Context 传播。

Istio 生产网络拓扑:公网请求通过 HTTPS 443 进入独立 Ingress Gateway,经 HTTP 8080 到达 Java,再以 gRPC 9090/9091 和 mTLS 连接 Go、Rust 服务,最后通过 TLS 访问 PostgreSQL;Istiod 和可观测平台分别承担控制与遥测