Envoy 过滤器与路由配置: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" } rate_limits: - actions: - request_headers: header_name: x-user-tier descriptor_key: user_tier route: { cluster: app } http_filters: - name: envoy.filters.http.ratelimit typed_config: "@type": type.googleapis.com/envoy.extensions.filters.http.ratelimit.v3.RateLimit domain: api rate_limit_service: grpc_service: envoy_grpc: cluster_name: rls timeout: 0.25s transport_api_version: V3 - name: envoy.filters.http.router clusters: - name: app type: LOGICAL_DNS connect_timeout: 1s lb_policy: ROUND_ROBIN load_assignment: cluster_name: app endpoints: - lb_endpoints: - endpoint: address: socket_address: { address: 127.0.0.1, port_value: 7001 } - name: rls type: LOGICAL_DNS connect_timeout: 1s lb_policy: ROUND_ROBIN http2_protocol_options: {} load_assignment: cluster_name: rls endpoints: - lb_endpoints: - endpoint: address: socket_address: { address: 127.0.0.1, port_value: 8081 } 限流服务描述符配置(Lyft ratelimit 示例):domain: api descriptors: - key: user_tier value: free rate_limit: unit: minute requests_per_unit: 100 - key: user_tier value: pro rate_limit: unit: minute requests_per_unit: 1000

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部
1.603846s