揭秘2019双11背后的云网络 – 双11网络架构和洛神系统

简介: 揭秘2019双11背后的云网络 – 双11网络架构和洛神系统 图1 天猫双11成交额 2019年天猫双11成交额,2684亿!核心系统100%上云!全球最大流量洪峰,阿里云扛住了。  狂欢背后的技术栈网上轻松购物体验实际上是背后复杂的技术组成的,这是一个简化的通用电商系统架构,由很多产品和业务组件组成。

揭秘2019双11背后的云网络 – 双11网络架构和洛神系统

图1 天猫双11成交额
_1

2019年天猫双11成交额,2684亿!核心系统100%上云!全球最大流量洪峰,阿里云扛住了。

狂欢背后的技术栈
网上轻松购物体验实际上是背后复杂的技术组成的,这是一个简化的通用电商系统架构,由很多产品和业务组件组成。

图2 简化电商系统架构
_2

这些业务组件核心系统今年100%上云,底层承载的技术就是阿里云的计算,存储,网络,数据库等等一系列产品和解决方案。
因为处理量非常巨大,这些业务产品、组件和模块之间会采用分布式部署方式,产品与产品、组件与组件、模块和模块之间会存在海量的通信要求,承载这个通信要求的技术平台就是阿里云网络的飞天洛神平台。

什么是飞天洛神
阿里云的技术平台叫飞天操作体系,其目标是将一个数据中心,乃至遍布全球的多个数据中心变成一台计算机,对内管理数据中心的服务器和各种物理资源和设施,对外统一的提供公共服务和对应的编程接口。

图3 阿里云飞天操作系统
_3

飞天操作系统的内核提供最基础的系统服务,是对基础资源的虚拟化,核心是计算、存储和网络资源的虚拟化,其中虚拟网络服务(如虚拟专有网络VPC,SDN控制器,负载均衡网元等)是由洛神平台提供,总结一句话,洛神是阿里云飞天操系统内核的核心组件,提供了云计算网络的全部功能。

飞天洛神特点
洛神伴随着阿里云飞天系统诞生,到目前已经有10年的历史,支撑了阿里云20个region,数百万级别虚拟机之间的如丝般顺滑的访问体验,这些与洛神10年来的技术沉淀息息相关。

  1. 全自研
    目前阿里云网络有业界最丰富的产品,从使用场景角度分为云上网络、跨地域网络、混合云网络和智能网络。

图4 阿里云业界最丰富的云网络产品
_4

这些丰富产品基于洛神平台开发,核心业务代码全自研,到目前为止,已经达到数百万行,不管是底层的软件系统,还是硬件设备形态,其技术方案、业务逻辑完全自主设计和开发,所以阿里云的虚拟交换机也称为AVS(Ali Virtual Switch),从转发表项设计,至报文处理,都不同于业界开源的OVS(Open Virtual Switch)。

  1. 软件定义网络

从洛神诞生的第一天起,阿里云的网络架构遵循软件定义网络的理念,管控和转发分离,网元只负责数据转发,管理配置以及表项由SDN网络控制器生成和下发。

图5 阿里云软件定位网络架构
_5

转发网元不管是软件方式,还是硬件方式,都支持可编程,所有业务逻辑都是通过软件代码实现,兼容SDN控制器之间自定义通道通信协议,软硬件一体化,兼容可扩展性。

  1. 海量规模
    阿里云目前有数百万的公有云租户,还有阿里集团这种超大规模的用户,通过海量的虚拟机协同完成丰富的业务。量变引起质变,洛神平台要支持这些海量租户,海量虚拟机之间的网络通信,网元的管理,表项下发性能,数据转发性能不是小规模网络可以相比拟的。目前实际运行环境,洛神已经支持单租户超过10W+虚拟机实例、单租户100G+公网带宽、单租户20T+混合云带宽。

飞天洛神如何支撑双11
“不是任何一朵云都能撑得住双11”,阿里集团核心系统首次100%运行在公共云上,54.4万笔/秒的订单峰值,970PB的单日数据处理量是承载在虚拟化的分布式系统上的,分布式节点之间的通信,依赖的就是底层的云网络基础设施,就是洛神平台提供的能力。
双11对云网络,对云网络的技术平台洛神有哪些具体的挑战,洛神如何支撑的呢,让我们一一揭秘。

  1. 超大规模
    阿里集团核心业务全面上云,随之而来的最大的挑战超大规模。2018年双11云上单个VPC的规模已经接近10w,今年还需要成倍增加,达到单VPC 30w的规模,业界有如此规模的用户屈指可数,基本集中在个别超大规模互联网公司,但不管是否自身就是公有云提供商,都没有将自己的核心业务部署在公有云上,所以单个VPC支撑如此规模的虚拟化实例,没有先例。同时在转发带宽的要求上,去年整个云上公网和跨域出口流量5Tbps左右,今年这个流量增长到了数十Tbps。

网络设备逻辑上包括管控和数据转发两个组成部分,首先在管控层面,集中式的SDN控制器使用传统方式,转发表项的下发性能会很低,结果会导致虚拟实例的上线速度很慢,影响业务开通效率,包括业务切换效率。洛神的管控系统采用集群和分层架构,集中能力提升的同时,将大量虚拟实例上线的处理下层,大大提升管控配置和表项的处理性能。

图6 洛神分层管控架构
_55

数据转发层面,洛神提供了软硬件一体化的技术架构,虚拟交换机在传统DPDK架构基础上进行了升级,支持可编程硬件实现的快速转发。

图7 基于可编程硬件的洛神虚拟交换机
_6

基于可编程硬件的虚拟交换机相对于传统软件虚拟交换机,转发性能提升达到10倍左右,时延降低1倍以上。公网和跨域带宽的快速增加,也对DPDK虚拟网关的性能提出了极大挑战,一方面是设备规模的增加,导致管理复杂度,供应成本的增加,另外CPU单核能力的约束,无法支撑某些突发和大带宽单流的场景,影响其它正常流量的通信。

图8 阿里云洛神软硬件一体网关
_7

在虚拟网关上,通过技术架构的升级,支持软硬件一体化的硬件网关,业务逻辑通过可编程的P4语言实现,对外接口兼容软件虚拟化网关,实现统一的扩展性。可编程硬件网关相对于传统X86软件架构,转发性能提升数十倍,同时有效避免了大带宽单流对单个CPU core的冲击,整个双11期间的流量洪峰在整个洛神软硬件一体化架构下,呈现出来的是“涓涓细流”。

  1. 稳、稳、稳
    阿里集团核心业务100%运行在公有云上,稳定性是第一要素,容不得半点差错,不仅仅单个节点的稳定性要做到极致,整个网络架构,解决方案层面也要保证绝对的稳定,做到多重防护,万无一失。洛神平台,架构层面保证网络通信的稳定性,业务按AZ(Available Zone)部署,公网和跨域访问的网关在可用区内集群部署,避免单点故障的影响,同时在可用区之间互为备份,避免可用区的故障。

图9 洛神网关类设备可靠性部署架构
_8

  1. 复杂流量模型
    整个阿里巴巴经济体的业务系统非常复杂,不仅仅包括电商购物系统,还包括蚂蚁支付系统,还有大数据分析系统,菜鸟物流体系等等,不同的系统对网络通信需求的要求也不相同,业务流量的优先级也不一样,有些对延时敏感,有些对带宽要求高,有些对丢包敏感,这些纷繁复杂的业务如何在统一的底层云网络中承载,对云网络的技术平台洛神提出了区别普通公有云租户的不同挑战。以阿里集团在线业务和离线业务为例,离线业务主要就、是大数据,熟悉的人可能都比较清楚,大数据的出名的流量大户,经常会有一些突发的流量将物理网络的带宽占满,导致丢包,而在线业务一般流量不大,但对时延和丢包敏感。这就要求云网络支持流量等级区分,拥塞是优先丢弃低优先级的流量,保证离线和在线业务的和谐共处。

图10 业务对网络的差异需求
_9

云网络洛神平台支持不同业务的QoS,对于大带宽、丢包非敏感业务,设置通信报文低优先级,突发流量不会导致高优先级报文被丢弃,复杂的流量模型也能“和平共处”。

  1. 高效运维
    物理规律决定了没有100%可靠的网络,一方面阿里云网络追求最高的可靠性,一方面遵循没有永远不失效的单点逻辑这个规律,故障一定会发生,无法避免,但需要有故障发生时快速恢复,快速定位的能力,在双11之前的各种压测和故障演练之中,洛神平台不断的锤炼网络运维能力,做到故障快速监控,快速恢复,快速定位。阿里云网络洛神平台的运维,运营平台,内部叫齐天系统,这是一个分布式,大数据智能化运维系统,通过大数据,AI分析能力,集合阿里云海量数据,实现故障的快速定位和逃逸。

图11 阿里云齐天智能网络系统架构
_10

通过底层网络网络和虚拟网络数据流,日志,设备状态等等数据信息,通过以blink为底座的大数据分析平台,在业务方感知故障之前,快速判断网络的监控状态,以及快速识别故障的根因,实现故障的自动逃逸。同时每种典型故障,都录入到日常故障演练中,做到网络运维的真正高效,随时可用。智能的网络,也是阿里云洛神平台保障双11业务的一个利器,为双11的平稳保驾护航。

洛神还在不停的进步,从最初的洛神1.0 DPDK网元演进洛神2.0软硬件一体化网元,网络能力有了质的提升,支撑了阿里集团核心业务的100%上云,未来在弹性、开放能力上会更进一步,提供给用户更加美好的体验。

目录
相关文章
|
16天前
|
Ubuntu Windows
【Ubuntu/Arm】Ubuntu 系统如何链接有线网络(非虚拟机)?
【Ubuntu/Arm】Ubuntu 系统如何链接有线网络(非虚拟机)?
|
1月前
|
机器学习/深度学习 数据采集 人工智能
m基于深度学习网络的手势识别系统matlab仿真,包含GUI界面
m基于深度学习网络的手势识别系统matlab仿真,包含GUI界面
38 0
|
1月前
|
消息中间件 网络协议 C++
C/C++网络编程基础知识超详细讲解第三部分(系统性学习day13)
C/C++网络编程基础知识超详细讲解第三部分(系统性学习day13)
|
27天前
|
存储 Shell Linux
【Shell 命令集合 网络通讯 】Linux 显示Unix-to-Unix Copy (UUCP) 系统的状态信息 uustat命令 使用指南
【Shell 命令集合 网络通讯 】Linux 显示Unix-to-Unix Copy (UUCP) 系统的状态信息 uustat命令 使用指南
26 0
|
27天前
|
Shell Linux C语言
【Shell 命令集合 网络通讯 】Linux 查看系统中的UUCP日志文件 uulog命令 使用指南
【Shell 命令集合 网络通讯 】Linux 查看系统中的UUCP日志文件 uulog命令 使用指南
29 0
|
7天前
|
存储 算法 Linux
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
20 6
|
28天前
|
人工智能 运维 监控
构建高性能微服务架构:现代后端开发的挑战与策略构建高效自动化运维系统的关键策略
【2月更文挑战第30天】 随着企业应用的复杂性增加,传统的单体应用架构已经难以满足快速迭代和高可用性的需求。微服务架构作为解决方案,以其服务的细粒度、独立性和弹性而受到青睐。本文将深入探讨如何构建一个高性能的微服务系统,包括关键的设计原则、常用的技术栈选择以及性能优化的最佳实践。我们将分析微服务在处理分布式事务、数据一致性以及服务发现等方面的挑战,并提出相应的解决策略。通过实例分析和案例研究,我们的目标是为后端开发人员提供一套实用的指南,帮助他们构建出既能快速响应市场变化,又能保持高效率和稳定性的微服务系统。 【2月更文挑战第30天】随着信息技术的飞速发展,企业对于信息系统的稳定性和效率要求
|
8天前
|
JavaScript Java 测试技术
基于Java的网络类课程思政学习系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的网络类课程思政学习系统的设计与实现(源码+lw+部署文档+讲解等)
25 0
基于Java的网络类课程思政学习系统的设计与实现(源码+lw+部署文档+讲解等)
|
11天前
|
机器学习/深度学习 人工智能 运维
构建未来:AI驱动的自适应网络安全防御系统
【4月更文挑战第7天】 在数字时代的浪潮中,网络安全已成为维系信息完整性、保障用户隐私和确保商业连续性的关键。传统的安全防御策略,受限于其静态性质和对新型威胁的响应迟缓,已难以满足日益增长的安全需求。本文将探讨如何利用人工智能(AI)技术打造一个自适应的网络安全防御系统,该系统能够实时分析网络流量,自动识别并响应未知威胁,从而提供更为强大和灵活的保护机制。通过深入剖析AI算法的核心原理及其在网络安全中的应用,我们将展望一个由AI赋能的、更加智能和安全的网络环境。
25 0
|
22天前
|
存储 Unix Linux
深入理解 Linux 系统下的关键网络接口和函数,gethostent,getaddrinfo,getnameinfo
深入理解 Linux 系统下的关键网络接口和函数,gethostent,getaddrinfo,getnameinfo
14 0