服务网格成熟度不断提升,云原生环境下流量处理愈发重要, Envoy Gateway 项目于近日宣布开源,“旨在大幅降低将 Envoy 作为 API 网关的使用门槛”,引发了业界关注。2018 年 11 月,Envoy 成为 CNCF 毕业项目,开始作为一款高性能数据和服务代理软件为从业者所知,但此后两三年,国内 API 网关实践中,选型 Envoy 仍是一条较为孤独的道路。

作为国内云原生实践的先行者,网易数帆轻舟云原生团队早在 2017 年就探索基于 Istio 和 Envoy 实现服务网格平台及 API 网关,并于 2019 年完成该体系在严选电商业务的成熟应用。践行及今 6 载,在企业侧,网易数帆 Envoy Gateway 承载了互联网、银行、证券、能源等多行业头部企业核心业务流量,经受了百亿级日流量的考验;在社区侧,团队于 2021 年开源了基于 Istio 和 Envoy 研发的 Hango Gateway,2022 年诞生了国内唯一的 Envoy Maintainer。

在此过程中,网易数帆也多次分享了 Envoy Gateway 相关实践,并曾于 2020 年就网关技术路线展开讨论,力陈 Envoy Gateway 的优势,与社区同道共同推动并见证 Envoy 不断成熟。网易数帆认为,Envoy Gateway 的开源,为 Envoy 成为标准数据面组件带来了一个良好的开端。

  • Envoy Gateway 项目:https://github.com/envoyproxy/gateway

  • Hango 项目:https://github.com/hango-io/hango-gateway

网易数帆云原生架构选定 Envoy

在云原生技术体系建设中,网易数帆非常重视统一技术栈,认为这样才能降低研发成本,真正发挥云原生的优势。网格网关体系之所以选择 Envoy,不仅仅是因为 Envoy 是 Istio 数据面默认的 Sidecar,更因为它是功能与性能都非常优秀的 “双优生”。此后在网易严选业务的实践,验证了这一选择的正确性。

网格侧,网易数帆认为,Istio + Envoy 对微服务流量和服务治理的良好抽象,带来了统一服务化层技术栈的曙光。同时 Envoy 拥有不低于 Nginx 的转发性能,但在治理能力和控制能力(UDPA)方面,却比 Nginx 灵活得多。在网易严选当时的测试中,采用 eBPF/xDP (sockops),优化路径为 SVC <-> Envoy,延迟性能提升 10-20%。

详见:

  • 从 Consul+Nginx 到 Istio,网易严选 Service Mesh 架构的持续演进

    https://zhuanlan.zhihu.com/p/80265643

  • 落地三年,两次架构升级,网易的 Service Mesh 实践之路

网易严选网关的升级,则考虑轻舟微服务体系的无缝融合以及主流的产品实现,同样采用 Envoy 数据面组件,负责南北向数据流量的代理、路由、治理、遥测等;通过 filterchain 进行扩展,支持基于 Lua、C++ 语言编写插件,WASM 落地后支持多语言方式扩展;并通过 xDS 与控制面组件进行配置下发等动态控制。控制面则以 Istio Pilot 作为基本控制面组件,同时提供 API 层、控制台供用户或第三方平台接入。

基于轻舟 Envoy Gateway 网易严选实现了:

  1. 网关管理平台复用,保证用户习惯一致性。

  2. LUA 插件复用,方便扩展功能的无缝迁移。

  3. 函数级别路由能力的支持,为后续 FaaS 的引流铺平了道路。

经过大规模业务生产落地,网易数帆更加体会到 Envoy 的先天优势,并坚信 Envoy Gateway 是云原生业务流量入口的标准技术方案:

  1. 较 HAProxy、Nginx 更丰富的功能

  2. 与 Nginx 相当,远高于传统 API 网关的性能

  3. 动态管控能力强,具备数据面标准 xDS 协议

  4. 天然亲和容器环境

  5. 多语言扩展沙箱 ——WASM

性能方面,在网易数帆的测试中,Envoy 的 TPS 可以达到 12W 左右,而基于 Nginx 的 Kong,TPS 为 5W 左右。

到 2020 年,网易数帆成功推动轻舟 Envoy Gateway 在网易多个核心业务大规模落地:

  • 网易传媒(新闻)已经实现全站流量通过轻舟 Envoy Gateway 暴露

  • 网易严选已经实现上云服务全部流量通过轻舟 Envoy Gateway 暴露

  • 网易有道、云信、Lofter 等网易核心互联网业务流量通过轻舟 Envoy Gateway 暴露

 

详见:

  • 从 Kong 到 Envoy,网易严选网关架构演进之路

    https://zhuanlan.zhihu.com/p/242260216

  • 云原生时代的流量入口:Envoy Gateway

Hango 开源,进入 CNCF Landscape

2021 年 8 月,网易数帆开源了高性能、可扩展、功能丰富的云原生 API 网关 Hango,并在之后再次从功能、性能、行业影响、技术趋势和最佳实践等方面全面解读了 Envoy 技术路线的优势,以及 Hango 的扩展设计和落地实践。

简而言之,Hango 数据面基于 Envoy 扩展,增强插件链,控制面基于 Istio 进行扩展,完成了微服务网关、七层负载均衡、Kubernetes Ingress 等多场景能力支持。如下是 Hango 网关插件链的数据流,通过创建 EnvoyPlugin CR,Slime 动态监听聚合生成对应的 EnvoyFilter,完成对 Envoy filter chain 的动态扩展。

而 Hango 也获得了云原生从业者的认可,进入了 CNCF Landscape。

详见:

  • Hango 开源解读:云原生网关实践,为何要选择 Envoy ?

  • 云原生 API 网关 - 开源项目 Hango 网关设计与实践

展望未来,网易数帆致力于扩大轻舟云原生体系“出圈”规模融入产业数字化,作为一个核心模块的轻舟 Envoy Gateway 也会加码产业应用场景落地能力,如多集群高可用、协议转换等金融场景刚需能力的增强。同时,轻舟 Envoy Gateway 的更多能力也会通过 Hango Gateway 开源出来。

持续贡献,国内唯一 Maintainer 出炉

目前网易数帆轻舟团队已累计向 Envoy 社区贡献 60+ PR,超过 14,000+ 新增代码,覆盖了 Envoy 的有状态会话保持、Tracing 能力增强、Lua script 的支持和 Dubbo 治理能力增强等核心功能。

2022 年 3 月 ,Envoy 社区邀请网易数帆云原生专家、资深架构师王佰平成为社区 Maintainer—— 这是国内首位且唯一的 Envoy Maintainer,同时也是 Dubbo Extension Senior Maintainer,表明了社区对网易数帆持续贡献的认可。

详见:

  • 破浪人丨国内首位 Envoy Maintainer!王佰平独家讲述四年开源之路

Envoy Maintainer 助力解锁 Envoy 新技能

在成为 Envoy Maintainer 之前,王佰平也积极通过文章、直播、线下分享的方式,多次解读 Envoy 技术发展以及 Envoy Gateway 在内的相关实践。

详见:

  • 网易数帆基于 Envoy 的云原生网关实践

  • Envoy 架构及其在网易轻舟的落地实践

  • Envoy WASM 源码抽丝剥茧

  • Istio1.5 & Envoy 数据面 WASM 实践

  • Envoy - 入门介绍与 xDS 协议

    https://zhuanlan.zhihu.com/p/108846492

  • Envoy - 插件模型与插件配置

    https://zhuanlan.zhihu.com/p/114223364

最后,欢迎读者朋友踊跃参与 Envoy 和 Hango 社区,共创云原生的未来。

  • Envoy Gateway 项目:https://github.com/envoyproxy/gateway

  • Hango 项目:https://github.com/hango-io/hango-gateway


2022 年 5 月 13 日至 6 月 15 日,Loggie 社区面向云原生、可观测性及日志技术爱好者发起 Loggie Geek Camp 开源协作活动,以 “性能之巅,观测由我” 为主题,让参与者感受开源文化的精髓与开源社区的创造力,共创云原生可观测性的未来。包括提供 user case、捕捉 bug、完善和提交 feature 等四类任务,提交内容通过社区审核即为成功,表现优异者将可获得网易数帆及 Loggie 社区表彰。欢迎访问链接或点击“阅读原文”了解和参与:https://sf.163.com/loggie

网易数帆 Envoy Gateway 实践之旅:坚守 6 年,峥嵘渐显相关推荐

  1. 网易数帆基于 Envoy 的云原生网关实践

    本文根据 InfoQ 公开课<如何基于开源Envoy,构建高性能云原生微服务网关>整理,有删减. 简介:Envoy 是由 Lyft 开源的高性能网络代理软件.相比于 Nginx.HAPro ...

  2. 网易数帆数据生产力方法论

    导读: 2021年,网易数帆大数据团队正式提出数据生产力的理念,数据生产力从广义上讲,是指"通过使用数据,带来组织生产力的提升":从狭义上讲,是指"数据采集.清洗.加工. ...

  3. Hango Rider:网易数帆开源 Envoy 企业级自定义扩展框架

    可扩展性是网络代理软件最为关键的特性之一,灵活强大的可扩展性可以大大拓展网络代理软件的能力边界.作为新兴的开源高性能网络代理软件,Envoy 本身提供了相对丰富的可扩展能力,如基于 C++ 的原生扩展 ...

  4. 网易数帆云原生故障诊断系统实践与思考

    Kubernetes 是一个生产级的容器编排引擎,但是 Kubernetes 仍然存在系统复杂.故障诊断成本高等问题.网易数帆旗下轻舟云原生团队在近几年的稳定性保障工作中累计了不少生产实践的经验,我们 ...

  5. 网易数帆基于 Kubernetes 的 Redis 云原生实践综述

    随着云原生时代的到来和Kubernetes(简称K8s)的日渐成熟,越来越多的互联网团队开始将Kubernetes作为新的重要基础设施,一些云计算厂商也将其视作云服务及应用交付的新底座.在大家的普遍认 ...

  6. 正在颠覆技术栈,一文看懂网易数帆轻舟云原生交付实践

    文章目录 应用的交付 传统应用交付(过去) 可执行文件直接交付 封装成软件包交付 云原生应用交付(现在) 基于 Docker 的应用交付 基于 docker-compose 的应用交付 基于 Kube ...

  7. 李卓豪:网易数帆数据中台逻辑数据湖的实践

    导读: 本文将介绍过去15年中,网易大数据团队在应对不断涌现的新需求.新痛点的过程中,逐渐形成的一套逻辑数据湖落地方法.内容分为五部分: 关于网易数帆 为什么做逻辑数据湖 怎么做逻辑数据湖 未来规划 ...

  8. 网易数帆对 CIlium 容器网络的探索和实践

    作者 | 刘勤龙.黄扬 2019 年网易轻舟使用 sockmap+sk redirect 来优化轻舟 Service Mesh 的延迟,2020 年开始,我们逐步对 eBPF Service.Cili ...

  9. 基于OpenStack Ironic与DPU的网易数帆裸金属方案实践

    背景 目前,所有号称性能损耗小的VM技术,实际上都会有5-15%甚至更高的损耗.作为替代方案,如Gartner在2015年发布的报告"Market Trends: The Rise of B ...

最新文章

  1. gcc编译参数[转]
  2. linux boost filesystem程序链接,在Linux中链接Boost库
  3. mysql返回页面乱码java_解决Java程序使用MySQL时返回参数为乱码的示例教程
  4. JPA和Hibernate的关系(转)
  5. 8.正交匹配跟踪 Orthogonal Matching Pursuit (OMP)s
  6. hdu3068 . 最长回文
  7. python导出xlsx_使用python库xlsxwriter库来输出各种xlsx文件
  8. 具备自动刷新功能的 SAP ABAP ALV 报表
  9. 打印水仙花数oracle,javaScript实现回文数、水仙花数判断和输出斐波那契数列
  10. 省选+NOI 第六部分 技巧与思想
  11. 在VS.Net2010开发平台学习云计算开发
  12. window.showModalDialog用法
  13. linux 安装phpMyAdmin
  14. 1月15日云栖精选夜读 | 重磅公开!阿里语音识别模型端核心技术,让你“听”见未来...
  15. c语言int函数使用方法,int函数的使用方法_Excel中int函数的操作用法
  16. 动态规划Dynamic programming笔记自用
  17. 硬盘坏了,如何检测与修复。
  18. 小心肝队-冲刺日志(第四天)
  19. 远程服务器用户多开,服务器安全之修改远程桌面限制同一用户使用同一个会话。一个用户只开一个会话禁止多开。...
  20. NX 查看NX图标名

热门文章

  1. 哥德尔的形式系统P——哥德尔重读拆解汉译之三
  2. IA-32传送指令执行
  3. BAT等大厂已开源的70个实用工具盘点(附下载地址)
  4. 大数据常见报错信息以及解决办法
  5. unity检测键盘的按键名称-JS
  6. 商品管理系统——获取商品分类的分组以及属性
  7. office 2003 完全 卸载 工具 来自微软官方
  8. 钱币分隔符(js 实现千分符)
  9. Vue后台模板:PanjiaChen
  10. 携程 雇主_4标志您的雇主将破坏您的职业