前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >深入理解Envoy数据平面

深入理解Envoy数据平面

作者头像
Yuou
发布2022-09-26 16:05:51
4030
发布2022-09-26 16:05:51
举报

介绍

Envoy

Nginx

HAproxy

HTTP/2

对HTTP/2有最完整的支持,同时支持upstream和downstream的HTTP/2

1.9.5以后有限支持HTTP/2,只在upstream server支持,downstream依然是1.1

不支持

Rate Limit

通过插件进行限流

支持基于配置的限流,只支持基于源IP的限流

ACL

给予插件实现四层的ACL

给予源/目的地址实现ACL

Connection draining

支持hot reload,并且通过share memory实现connection draining功能

Plush版本才支持

支持热启动,但是不保证丢弃链接

  • 性能优势:在具备大量特性的同时,Envoy提供极高吞吐量和低尾部延迟差异,而CPU和RAM消耗相对减少。
  • 可扩展性:Envoy在L4和L7都提供了丰富的可查吧过滤器能力,使用户可以轻轻松松添加开源版本中的功能
  • API的可配置性:Envoy提供了一组可以通过控制平面实现的管理API,如果控制平面所有的API则可以使用通用的配置在基础架构上运行Envoy,因为它从来不许要重新启动,这样使得Envoy极大的降低了整体运维的复杂性.

Envoy线程模式

  • Envoy采用单进程多线程模式
    • 主线程负责协调
    • 子线程负责监听过滤和转发
  • 当某连接被监听器接受,那么该链接的全部生命周期就会与该线程进行绑定
  • Envoy基于非阻塞模式(Epoll模型)
  • 建议Envoy配置的worker数量与Envoy所在的硬件线程数一致

XDS-Envoy的发现机制

  • Endpoint Discovery Service (EDS): 这是v1 SDSAPI的替代品,此外,gRPC的双向流性质将允许负载/健康信息报告回管理服务器,未将来的全局负载均衡开机大门。
  • Cluster Discovery Service (CDS): 跟v1没有实质性变化
  • Route Discovery Service (RDS): 没有实质变化
  • Listener Discovery Service (LDS): 和v1的唯一主要变化是:现在允许监听器定义多个并发过滤栈,这些过滤可以基于监听器路由规则(例如 SNI,源地址/目的地址)来进行选择
  • Secret Discovery Service (SDS):一个专用API来传递TLS密钥材料。这将解耦通过LDS/CDS发送监听器,集群配置通过专用的密钥管理系统来发送。
  • Health Discovery Service (HDS):该API将允许Envoy成为分布式健康检查网络的成员,中央健康检查服务可以使用一组Envoy作为健康检查终点,并将状态报告回来。
  • Aggregated Discovery Service (ADS): 总的来说,Envoy的设计是最终一致的。这意味着默认情况下,每个管理API都并发运行,并且不会相互交互。一次一个管理服务器处理单个Envoy的所有更新都是有益的。此API允许通过单个管理服务器的单个gRPC双向流对所有其他API进行编组。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档