Envoy
- Envoy的另一特点是支持配置信息的热更新,其功能由XDS模块完成,XDS是个统称,具体包括ADS(Aggregated Discovery Service)、SDS(Service Discovery Service)、EDS(Endpoint Discovery Service)、CDS(Cluster Discovery Service)、RDS(Route Discovery Service)、LDS(Listener Discovery Service)。
- By default Envoy is fully streaming and will apply back pressure : 默认情况下,Envoy是完全流式传输,并且将施加反压力。
- A proxy is a intermediary component in a network architecture that inserts itself in the middle of communication to provide additional features like security, privacy, or policy. 代理是网络体系结构中的中间组件,它在通信过程中插入自身,以提供附加功能,如安全、隐私或策略。
- supplement an application’s business logic with non-differentiating application-networking logic : 使用非区分应用程序的网络逻辑补充应用程序的业务逻辑
- HTTP header sanitizing : HTTP标头清理
- Discover Service:
- EDS: Endpoint Discovery Service
- CDS : Cluster Discovery Service
- RDS : Route Discovery Service
- LDS: Listener Discovery Service
- SDS : Secret Discovery Service
- HTTP Request Hedging : for retries in response to a request (per try) timeout.
- direct traffic to specific backend clusters : 将流量定向到特定的后端群集
- 在互联网系统中,服务提供方(upstream)因访问压力过大而响应变慢或失败,服务发起方(downstream)为了保护系统整体的可用性,可以临时暂停对服务提供方的调用,这种牺牲局部,保全整体的措施就叫做熔断。
- As you deploy more services, the configuration for your proxies changes frequently, so they have to be dynamically configured. In fact, it’s typical now to deploy a fleet of proxies that serve a decentralized deployment model. --- 当您部署更多服务时,代理的配置经常更改,因此必须动态配置它们。事实上,现在典型的做法是部署一组代理,这些代理服务于分散的部署模型。
- Envoy also supports a wide variety of protocols, such as gRPC, Kafka, and Redis, and has built-in functionality for observability and resilience. This allows you to collect metrics on your layer 7 traffic and enable different resilience strategies, such as circuit breaking, automatic retries, and timeouts.
- Over time some of the most performance-sensitive features of Istio have been upstreamed into Envoy : 随着时间的流逝,Istio的一些对性能最敏感的功能已被纳入Envoy
- Virtual hosts that map domains/authorities to a set of routing rules --- 将域/权限映射到一组路由规则的虚拟主机
- Aggregate cluster is used for failover between clusters with different configuration : 聚合集群用于在具有不同配置的集群之间进行故障转移
- Envoy’s router can split traffic to a route in a virtual host across two or more upstream clusters : Envoy的路由器可以将分配到虚拟机中的路由的流量分割到两个或多个上游群集。
- Docs --> API --> v2 API reference --> Extensions --> Filter --> HTTP connection manager
- The fault injection filter can be used to test the resiliency of microservices to different forms of failures --- 故障注入过滤器可用于测试微服务对不同形式的故障的恢复能力。
- the (sidecar) pattern and the container lifecycle changes are here the stay and can be expected in the 1.19 release. --- sidecar)模式和容器生命周期的更改将一直存在,并且可以在1.19版本中预期到。
Blogs
- Envoy and the Programmable Edge: Edge Proxies and the Developer Experience
- Guidance for Building a Control Plane to Manage Envoy Proxy at the edge, as a gateway, or in a mesh
How to use Envoy as a Load Balancer in Kubernetes (Great)
- Chaosblade: 阿里一个超级牛逼的混沌实验实施工具
漫话:如何给女朋友解释什么是熔断?
- Some Envoy basics 2018
- Building a Service Mesh with Envoy 2019
- Set of Envoy Proxy features demos 2019
- Envoy Proxy in 2019: Security, Caching, Wasm, HTTP/3, and more
- Envoy为什么能战胜Ngnix——线程模型分析篇