跳到主要内容

2 篇博文 含有标签「Service Mesh」

服务网格、数据面代理与服务间通信治理

查看所有标签

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 和可观测平台分别承担控制与遥测

Envoy Proxy 生产实战:从反向代理、流量治理到高可用网关

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

如果只看一份最小配置,Envoy 很像“另一个 Nginx”:监听一个端口,把请求转发给后端。但真正让 Envoy 成为云原生基础设施核心组件的,不是反向代理本身,而是它把路由、服务发现、负载均衡、故障隔离、安全和可观测性做成了一个可动态控制的数据平面。

这也是为什么 Envoy 会出现在 API Gateway、Kubernetes Gateway、Service Mesh、gRPC 基础设施、边缘代理和多集群流量治理中。

本文沿着一条生产链路展开:

  1. Envoy 到底解决什么问题,什么时候值得使用;
  2. 一个请求如何穿过 Listener、Filter、Route、Cluster 和 Endpoint;
  3. 怎样在本地跑起一个具有灰度路由、健康检查和异常摘除能力的代理;
  4. 怎样正确设计超时、重试、熔断、限流、鉴权和动态配置;
  5. 怎样在 Kubernetes 上用 Envoy Gateway 部署一个跨节点、可扩缩、可优雅升级的高可用入口;
  6. 上线前应该监控什么、演练什么,以及故障时如何定位。

本文基于 2026 年 9 月 4 日可用的官方资料与稳定版本:Envoy 1.39.1、Envoy Gateway 1.9.1。示例固定具体版本,避免生产环境无意间拉取变化中的 latest 镜像。