SRE & AI 实践录

Envoy 服务网格流量管理实战

· 更新于 2026-08-01 ⏱️ 阅读约 2 分钟 (582 字) Envoy 服务网格 可观测性

基于 Envoy 代理构建服务网格,实现高级流量管理、灰度发布和可观测性

Envoy 是一个高性能的 L7 代理和服务网格数据平面,由 Lyft 开源。在现代云原生架构中,Envoy 作为 Sidecar 代理与每个服务实例一同部署,接管所有南北向和东西向流量,为微服务提供统一的流量管理、可观测性和安全能力。

Sidecar 代理架构

每个服务实例旁部署一个 Envoy 代理,所有进出流量都经过该代理。这种架构使服务本身无需关心网络层面的复杂逻辑,实现了基础设施逻辑与业务代码的解耦。

流量分割与路由

Envoy 通过动态配置支持精细的流量管理。以下配置演示了如何实现金丝雀发布,将 10% 的流量路由到新版本:

yaml
# envoy-config.yaml — 流量分割配置
static_resources:
  listeners:
  - name: listener_0
    address:
      socket_address: { address: 0.0.0.0, port_value: 8080 }
    filter_chains:
    - filters:
      - name: envoy.filters.network.http_connection_manager
        typed_config:
          "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
          stat_prefix: ingress_http
          route_config:
            name: local_route
            virtual_hosts:
            - name: backend
              domains: ["*"]
              routes:
              - match: { prefix: "/api/v1/" }
                route:
                  weighted_clusters:
                    clusters:
                    - name: service_v1
                      weight: 90
                    - name: service_v2
                      weight: 10
          http_filters:
          - name: envoy.filters.http.router
  clusters:
  - name: service_v1
    type: STRICT_DNS
    lb_policy: ROUND_ROBIN
    load_assignment:
      cluster_name: service_v1
      endpoints:
      - lb_endpoints:
        - endpoint:
            address:
              socket_address: { address: service-v1, port_value: 8080 }
  - name: service_v2
    type: STRICT_DNS
    lb_policy: ROUND_ROBIN
    load_assignment:
      cluster_name: service_v2
      endpoints:
      - lb_endpoints:
        - endpoint:
            address:
              socket_address: { address: service-v2, port_value: 8080 }

可观测性与安全

Envoy 原生支持分布式追踪(兼容 Zipkin、Jaeger)、Prometheus 指标导出和结构化访问日志。在安全方面,支持 TLS 双向认证(mTLS)、RBAC 访问控制和限流。这些能力共同构成了生产级服务网格的基石,让 SRE 团队能够全面掌控微服务通信的质量与安全。

本文作者:技术领航员 | 许可协议:CC BY-NC-SA 4.0

本文链接:https://sreai.net/zh/posts/envoy-service-mesh/(转载请注明出处)