FlatProxy:一种面向超大规模云原生应用的 DPU 中心化服务网格架构
分布式、并行与集群计算
2023-12-05 v1 网络与互联网体系结构
摘要
服务网格是构建云原生应用程序的基础技术,它通过一个管理服务间通信的中间层来确保大量服务的稳定运行。然而,服务网格并不适合高性能场景。根本原因在于当前的服务网格不适合云原生应用程序的演进。一方面,构建在 CPU 上的服务网格无法监听绕过 CPU 的通信。另一方面,服务网格包含许多 I/O 密集型和计算密集型任务,随着流量增长超过 CPU 性能,这些任务可能会使 CPU 核心过载。因此,我们提出了一种以数据为中心的服务网格,将服务网格的代理迁移到网络入口。此外,我们还设计了以 DPU 为中心的 FlatProxy,一种基于 DPU 的以数据为中心的服务网格。以 DPU 为中心的服务网格具有三个优势。首先,它接管进出节点的所有流量,将服务网格的感知范围从容器扩展到了节点。其次,它通过卸载部分功能和优化通信,提高了通信性能并减少了主机资源使用。第三,它通过业务服务和云基础设施的物理隔离,将性能和安全问题降至最低。与当前主流的服务网格实现 Envoy 相比,FlatProxy 在 Gbps 延迟上降低了 90%,在 Gbps 吞吐量上提高了 4 倍,在 qps 上提高了 8 倍,并且仅占用少量 CPU 资源。
引用
@article{arxiv.2312.01297,
title = {FlatProxy: A DPU-centric Service Mesh Architecture for Hyperscale Cloud-native Application},
author = {Ming Li and Wenyan Lu and Hanyue Lin and Jingya Wu and Yu Zhang and Guihai Yan},
journal= {arXiv preprint arXiv:2312.01297},
year = {2023}
}
备注
14 pages, 21 figures