# Envoy 代理路由与流量治理(Listener、Cluster、Route、Rate Limit) ## 概述 Envoy 通过 Listener 接受流量、Route 决策请求路径、Cluster 访问后端;配合限流与熔断实现稳定性治理。 ## 关键实践与参数 - Listener:定义入口监听端口与过滤链;启用 HTTP Connection Manager。 - Route:基于前缀/头匹配路由;重试与超时配置在虚拟主机或路由级。 - Cluster:健康检查、连接池与熔断阈值(max connections/requests/pending)。 - 限流:Local Rate Limit 或与外部限流服务集成(Rate Limit Service)。 ## 配置示例(片段) ```yaml static_resources: listeners: - name: http 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 route_config: virtual_hosts: - name: app domains: ["*"] routes: - match: { prefix: "/api" } route: { cluster: api } http_filters: - name: envoy.filters.http.local_ratelimit clusters: - name: api type: LOGICAL_DNS load_assignment: cluster_name: api endpoints: - lb_endpoints: - endpoint: { address: { socket_address: { address: api.svc, port_value: 80 } } } health_checks: - timeout: 2s interval: 5s http_health_check: { path: "/healthz" } ``` ## 验证方法 - 通过 `curl` 与 Admin API 查看路由与集群健康;观察熔断与限流命中。 - 压测下评估重试与超时策略对尾延迟的影响。 - 打开访问日志与指标,定位热点路径与失败原因。 ## 注意事项 - 配置一致性与版本管理;建议使用 xDS 动态配置与集中控制。 - 与 Service Mesh/Ingress 的协同与边界明确。 - 限流策略与重试需联动,避免雪崩。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部