Envoy路由管理
HTTP 链接管理 envoy处理用户请求逻辑 ① 用户请求报文到达七层过滤器链处理机制后,首先根据请求HTTP报文中的 Host 首部来完成虚拟主机的选择;② 由此虚拟机主机内部的 Route 表项进行处理。③ 后由 match 进行匹配; Match 是与请求URL的 PATH 组成部分或请求报文的标头部分 header 。④ 最后才可到达 Route 进行 direct_response 、redirect 等。 官方手册 Envoy通过内置的L4过滤器HTTP连接管理器将原始字节转换为HTTP应用层协议级别的消息和事件,例如接收到的标头和主体等,以及处理所有HTTP连接和请求共有的功能,包括访问日志、生成和跟踪请求ID,请求/响应头处理、路由表管理和统计信息等; 支持HTTP/1.1、WebSockets和HTTP/2,但不支持SPDY; 关联的路由表可静态配置,亦可经由 xDS API 中的 RDS 动态生成; 内建重试插件,可用于配置重试行为; Host Predicates Priority Predicates 内建支持302重定向,它可以捕获302重定向响应,合成新请求后将其发送到新的路由匹配(match)所指定的上游端点,并将收到的响应作为对原始请求的响应返回客户端 支持适用于HTTP连接及其组成流(constituent streams)的多种可配置超时机制 连接级别:空闲超时和排空超时(GOAWAY); 流级别:空闲超时、每路由相关的上游端点超时和每路由相关的 gRPC 最大超时时长; 基于自定义集群的动态转发代理; HTTP协议相关的功能通过各HTTP过滤器实现,这些过滤器大体可分为编码器、解码器和编/解码器三类; router envoy.router 是最常的过滤器之一,它基于路由表完成请求的转发或重定向,以及处理重试操作和生成统计信息等; HTTP 路由 Envoy基于HTTP router过滤器基于路由表完成多种高级路由机制,例如: 将域名映射到虚拟主机; path的前级 prefix 匹配、精确匹配或正则表达式匹配; 虚拟主机级别的TLS重定向; path级别的 path/host 重定向; direct_response ,由Envoy直接生成响应报文 ; 显式 host rewrite; prefix rewrite; 基于HTTP标头或路由配置的请求重试与请求超时; 基于运行时参数的流量迁移; 基于权重或百分比的跨集群流量分割; 基于任意标头匹配路由规则; 基于优先级的路由; 基于hash策略的路由; 路由配置和虚拟主机 路由配置中的顶级元素是虚拟主机...