解密 MoE:将 Golang 嵌入 Envoy(C++)

所属专题:编程语言实战

嘉宾 : 朱德江 | 蚂蚁集团 技术专家、Envoy Go 扩展 Code Owner

会议室 : 多功能厅 2+3

讲师介绍

专题演讲嘉宾:朱德江

蚂蚁集团 技术专家、Envoy Go 扩展 Code Owner

从事网关研发十余年,OpenResty 核心开发,MOSN 核心成员,Envoy Go 扩展 Code Owner。开源爱好者,对编译器比较感兴趣,对 LuaJIT、Go 有一定的研究。主要从事云原生网关研发,致力于打造适用于 Service Mesh 和 Ingress 的产品。 

议题介绍

地点:多功能厅 2+3
所属专题:编程语言实战

演讲:解密 MoE:将 Golang 嵌入 Envoy(C++)

现代的网关使用场景越来越多,从南北接入,到 Service Mesh,功能角色也越来越多,负载均衡,服务治理,安全,等等。在云原生时代,很多基础能力已经逐步标准化,但还是大量长尾的非标准化需求,典型如蚂蚁的 LDC 单元逻辑。 尽管 Envoy 非常注重可扩展性,提供了良好的的扩展接口,也提供了原生的 C++,以及 Wasm,Lua,ext-Proc 等这些扩展机制。不过,Envoy 的扩展上手门槛依然是比较高的,研发效能也不尽如人意。 反观 Golang 上手门槛低,生态丰富,工程化能力强,很适合协作。因此,我们提出了 MoE 架构,将 Golang 嵌入到 Envoy,当做 Envoy 主链路上的扩展,如此重度的应用,在业界也算鲜有的尝试。 本次分享,将从网关的发展趋势,以及 C++,Golang 的语言生态位来阐述,为什么我们选择将 Golang 嵌入 Envoy。还将详细阐述,在具体实践的过程中,如何解决内存安全,并发安全,沙箱安全,同时享受 Envoy(C++) 和 Golang 的技术红利。以及 cgo 这个技术,作为 Golang 和 C++ 通讯的桥梁,在这次实践中也是业界鲜有的重度使用,我们是如何完成耗时优化,调度优化等。以及,MoE 架构在蚂蚁的落地实战经验。 

演讲提纲:

1. 背景与趋势

  • 网关的发展历程
  • 当前面临的变化:Service Mesh & Cloud Native

2. 两层架构的设计

  • 底层框架 vs 长尾需求
  • C++ 与 Golang 的语言生态位置

3. Envoy 和 Golang 的融合

  • 内存安全
  • 并发安全
  • 沙箱安全

4. cgo 优化

  • CPU 耗时优化
  • Goroutine 调度优化
  • GC 优化

5. MoE 架构的现状和未来

  • 在蚂蚁内部在落地状况
  • 在 Envoy 社区的进展
  • 未来基于 MoE 架构的网关产品 

你将获得:

  • 了解 MoE 架构选型的初衷,利弊分析,落地经验
  • 了解 Golang 与 C++ 融合的实战经验
  • 了解 cgo 深度优化的实战经验 

交通指南

广州·粤海喜来登酒店

Hilton Guangzhou Baiyun
地址:广东省广州市天河区天河南街道天河路208号粤海天河城商业F3
  • 微信咨询

  • 电话咨询

    联系电话:+86 18514549229

微信联系我们

在报名过程中如有任何问题,欢迎微信扫描二维码联系我们的票务经理