《云计算与虚拟化技术丛书 Service Mesh实战》—1.5.2Envoy

举报
华章计算机 发表于 2019/06/05 14:52:05 2019/06/05
【摘要】 本书摘自《云计算与虚拟化技术丛书 Service Mesh实战: 基于Linkerd和Kubernetes的微服务实践》一文中的第1章,第1.5.2节,作者是杨彰显。

1.5.2 Envoy

       同Linkerd一样,Envoy也是一款高性能的网络代理程序,于2016年10月份由Lyft公司开源,为云原生应用而设计,可作为边界入口,处理外部流量,当然,也作为内部服务间通信代理,实现服务间可靠通信。Envoy的实现借鉴现有产线级代理及负载均衡器,如Nginx、HAProxy、硬件负载均衡器及云负载均衡器的实践经验,同时基于C++编写及Lyft公司产线实践证明,Envoy性能非常优秀、稳定。Envoy既可用作独立代理层运行,也可作为Service Mesh架构中数据平面层,因此通常Envoy跟服务运行在一起,将应用的网络功能抽象化,Envoy提供通用网络功能,实现平台及语言无关。作为Service Mesh工具,Envoy除了支持上述Service Mesh的功能外,还有下列功能。

       大规模负载下,Envoy保证P99延时非常低。

       优先支持HTTP/2和gRPC,同时支持Websocket和TCP代理。

       API驱动的配置管理方式,支持动态管理、更新配置以及无连接和请求丢失的热重启功能。

       L3/L4层过滤器形成Envoy核心的连接管理功能。

       通过与多种指标收集工具及分布式追踪系统集成,实现运行时指标收集,分布式追踪,提供整个系统及服务的运行时可见性。

       内存资源使用率低,sidecar是Envoy最常用的部署模式。

       目前,Envoy已经在Lyft及其他公司如腾讯、Stripe、Twilio等运行于产线,还有,Envoy社区非常活跃,你可从社区及一些其他厂商,比如Turbine Labs(https://www.turbinelabs.io/)获得商业支持。另外,Envoy也被用于实现API Gateway如Ambassador (https://www.getambassador.io/)及Kubernetes的Ingress Controller如Contour (https://github.com/heptio/contour)。当然,基于Envoy实现的另一款Service Mesh工具Istio可能更广为人知。而且Envoy也是CNCF官方支持的项目之一。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。