网易数帆:以 Kubernetes“原语”的理念打造云原生中间件
2023-10-05 14:46:00
随着互联网技术的快速发展,云计算、大数据、人工智能等技术正在改变着我们的生活和工作方式。在云计算领域,Kubernetes 已经成为事实上的标准,并被广泛应用于各种场景。
网易数帆是网易云计算的先驱,也是国内最早采用 Kubernetes 的企业之一。在过去的几年里,网易数帆在 Kubernetes 的基础上构建了一套完整的云原生中间件解决方案,为网易内部众多复杂业务和海量用户提供稳定、可靠、高性能的服务。
在近日的 ArchSummit 全球架构师峰会 2021 上海站上,网易技术委员会委员、网易数帆基础架构总监张晓龙向与会者进一步讲述了网易数帆在云原生中间件上的思考、实现与经验。本文为演讲内容实录。
云原生中间件的挑战
在云原生时代,中间件面临着许多新的挑战。
- 分布式和异构。 云原生应用通常分布在多个数据中心和云平台上,并且可能使用不同的编程语言和框架编写。这给中间件带来了很大的挑战,因为它需要能够支持不同的协议、格式和数据类型。
- 动态性和弹性。 云原生应用通常具有很强的动态性和弹性,它们可以随时扩展或缩小。这给中间件带来了很大的压力,因为它需要能够快速地响应应用的动态变化。
- 安全性和可靠性。 云原生应用通常面临着各种安全威胁,例如 DDoS 攻击、注入攻击和跨站点脚本攻击。中间件需要能够提供强大的安全防护,以确保应用的安全性和可靠性。
网易数帆的云原生中间件解决方案
为了应对这些挑战,网易数帆提出了以 Kubernetes“原语”的理念打造云原生中间件的解决方案。
Kubernetes“原语”是指 Kubernetes 提供的基本构建块,例如 Pod、Service 和 Ingress 等。网易数帆通过对这些“原语”进行组合和扩展,构建了一系列云原生中间件产品,包括:
- Knative。 Knative 是一个用于构建和管理云原生服务的平台。它提供了一系列高级别 API,可以简化云原生服务的开发、部署和管理。
- KubeVela。 KubeVela 是一个多集群管理平台。它可以将同一套代码同时部署在 Kubernetes 集群和虚拟机上,为云原生应用的部署提供丰富的选择。
- Open Service Mesh。 Open Service Mesh 是一个用于构建和管理服务网格的开源项目。它可以提供服务发现、负载均衡、故障转移和安全等功能。
- Istio。 Istio 是一个用于构建和管理服务网格的开源项目。它可以提供服务发现、负载均衡、故障转移、安全和遥测等功能。
- Envoy。 Envoy 是一个高性能的代理服务器。它可以提供负载均衡、故障转移、安全和遥测等功能。
网易数帆的云原生中间件实践
网易数帆已经在内部大规模地采用了云原生中间件解决方案。这些解决方案为网易内部众多复杂业务和海量用户提供了稳定、可靠、高性能的服务。
例如,网易邮箱是全球最大的邮箱服务之一,每天处理数十亿封邮件。网易数帆通过使用 Kubernetes 和 Knative 来构建和管理网易邮箱的云原生架构,极大地提高了网易邮箱的性能和稳定性。
再例如,网易游戏是全球最大的游戏公司之一,拥有数百款游戏产品。网易数帆通过使用 Kubernetes 和 Istio 来构建和管理网易游戏的云原生架构,极大地提高了网易游戏的性能和稳定性。
结语
网易数帆通过几年的实践,沉淀出一套成熟的云原生中间件解决方案。该解决方案基于 Kubernetes“原语”的理念,并采用了 Open Service Mesh、Istio、Envoy 等开源项目。该解决方案已经在大规模的生产环境中得到了验证,为网易内部众多复杂业务和海量用户提供了稳定、可靠、高性能的服务。