现在的位置: 首页 > 云计算 > 正文

我们为什么使用Envoy

2020年01月01日 云计算 ⁄ 共 699字 ⁄ 字号 评论关闭

  Envoy不是构建一个服务网格的唯一选择,市面上还有其他的代理如Nginx、Traefik等。我之所以选择Envoy,这个用C++编写的高性能代理,是因为我更喜欢Envoy的轻量、强大的路由,及其提供的可观察性和可扩展性。

FrontEnvoy

  在我们的设置中FrontEnvoy是一个边缘代理,我们通常在其中执行TLS终止、身份验证、生成请求头等操作。

Envoy配置主要由以下部分组成:

  1、监听器(Listener)

  2、路由

  3、集群

  4、端点

  监听器

  一个或多个监听器可以在单个Envoy实例中运行。在以上9到36行的代码提到了当前监听器的地址和端口。每个监听器也可以有一个或多个网络过滤器。这些过滤器可以启用路由、tls终止、流量转移等活动。除了envoy.http_connection_manager使用的是内置过滤器之外,Envoy还有其他几个过滤器。

  路由

  22行到34行代码为过滤器配置了路由规范,同时它也指定了我们所接受请求的域以及路由匹配器。路由匹配器可以根据配置的规则匹配每个请求,并将请求转发到适当的集群。

  集群

  集群是Envoy将流量路由到的上游服务规范。41行到48行代码定义了“ServiceA”,这是FrontEnvoy要通信的唯一上游。“connect_timeout”是在返回503之前建立与上游服务的连接的时间限制。

  通常情况下,有多个“SerivceA”实例,并且Envoy支持多种负载均衡算法来路由流量。在本例中,我们使用了一个简单的循环算法。

  结束语:以上就是关于我们为什么使用Envoy的全部内容,更多内容请关注学步园。

抱歉!评论已关闭.