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

图1 天猫双11成交额

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

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

图2 简化电商系统架构

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

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

图3 阿里云飞天操作系统

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

 飞天洛神特点
洛神伴随着阿里云飞天系统诞生,到目前已经有10年的历史,支撑了阿里云20个region,数百万级别虚拟机之间的如丝般顺滑的访问体验,这些与洛神10年来的技术沉淀息息相关。
 全自研
目前阿里云网络有业界最丰富的产品,从使用场景角度分为云上网络、跨地域网络、混合云网络和智能网络。

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

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

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

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

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

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

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

 超大规模
阿里集团核心业务全面上云,随之而来的最大的挑战超大规模。2018年双11云上单个VPC的规模已经接近10w,今年还需要成倍增加,达到单VPC 30w的规模,业界有如此规模的用户屈指可数,基本集中在个别超大规模互联网公司,但不管是否自身就是公有云提供商,都没有将自己的核心业务部署在公有云上,所以单个VPC支撑如此规模的虚拟化实例,没有先例。同时在转发带宽的要求上,去年整个云上公网和跨域出口流量5Tbps左右,今年这个流量增长到了数十Tbps。
网络设备逻辑上包括管控和数据转发两个组成部分,首先在管控层面,集中式的SDN控制器使用传统方式,转发表项的下发性能会很低,结果会导致虚拟实例的上线速度很慢,影响业务开通效率,包括业务切换效率。洛神的管控系统采用集群和分层架构,集中能力提升的同时,将大量虚拟实例上线的处理下层,大大提升管控配置和表项的处理性能。

图6 洛神分层管控架构

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

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

基于可编程硬件的虚拟交换机相对于传统软件虚拟交换机,转发性能提升达到10倍左右,时延降低1倍以上。

公网和跨域带宽的快速增加,也对DPDK虚拟网关的性能提出了极大挑战,一方面是设备规模的增加,导致管理复杂度,供应成本的增加,另外CPU单核能力的约束,无法支撑某些突发和大带宽单流的场景,影响其它正常流量的通信。

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

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

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

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

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

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

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

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

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

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

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


原文链接
本文为云栖社区原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/517388.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

拿专属内推码!一汽-大众专场直播招聘来了

作者 | 张红月出品 | CSDN遇见OFFER开学即毕业毕业即失业线下宣讲招聘统统被按下了暂停键迷茫,焦虑,惶恐而HR却说,今年招人太难了腾讯总监甚至路边摆摊招聘2020年各大企业纷纷开启线上模式CSDN作为深受开发者喜爱的社区以用户为本特开设遇见O…

vmware workstation 12 打开vm18 不兼容问题解决

由于需要让别人给我发了一下xp系统的虚拟机,可是打开后,却显示:配置文件“”是由VMware产品创建,但该产品与此版VMware workstations 不兼容,因此无法使用。 解决方案: 分析: 出现这种情况主要…

阿里云开源 image-syncer 工具,容器镜像迁移同步的终极利器

为什么要做这个工具? 由于阿里云上的容器服务 ACK 在使用成本、运维成本、方便性、长期稳定性上大大超过公司自建自维护 Kubernets 集群,有不少公司纷纷想把之前自己维护 Kubernetes 负载迁移到阿里云 ACK 服务上。在迁移过程中,往往会碰到一…

短网址系统设计与实战

🎨领域:Java后端开发🔥收录专栏: 系统设计与实战 🐒个人主页:BreezAm 💖Gitee:https://gitee.com/BreezAm ✨个人标签:【后端】【大数据】【前端】【运维】 文章目录&am…

“我,懂数据,不怕被裁”:这项核心能力到底有多香?

我见过市面上很多的 Python 讲解教程和书籍,他们大都这样讲 Python 的:先从 Python 的发展历史开始,介绍 Python 的基本语法规则,Python 的 list, dict, tuple 等数据结构,然后再介绍字符串处理和正则表达式&#xff0…

RuoYi-Cloud 登陆 /code 获取验证码出错

文章目录1. 异常信息2. 分析定位3. 解决方案1. 异常信息 [网关异常处理]请求路径:/code,异常信息:Invalid value ‘KaptchaTextCreator’ for config parameter ‘kaptcha.textproducer.impl’. 2. 分析定位 如果不修改包名的话,默认不会出现此问题,…

谁顶住双11的世界级流量洪峰?神龙架构负责人等9位大牛现场拆解阿里秘籍

阿里江湖中,很多资源和技术,如神龙服务器、OceanBase、POLARDB等等,在开源、自研、云这三架马车上形成协同效应,既是内功也是武器。 “不是任何一朵云都能撑住这个流量。中国有两朵云,一朵是阿里云,一朵叫…

如何回答性能优化的问题,才能打动阿里面试官?

阿里妹导读:日常工作中,我们多少都会遇到应用的性能问题。在阿里面试中,性能优化也是常被问到的题目,用来考察是否有实际的线上问题处理经验。面对这类问题,阿里工程师齐光给出了详细流程。来阿里面试前,先…

RuoYi-Cloud [网关异常处理]请求路径:/code,异常信息:null

文章目录1. 现象2. 分析定位3. 解决方案1. 现象 nacos配置文件中有值,但是代码初始化时未赋上值 2. 分析定位 既然nacos已经配置了,获取不到只能存在二种情况, 第一种:获取的不是最新的nacos的配置 第二种:没有…

这 10 行比较字符串相等的代码给我整懵了,不信你也来看看

来源 | 程序猿石头责编 | Carol 封图 | CSDN 下载自视觉中国先直接上代码&#xff1a;boolean safeEqual(String a, String b) {if (a.length() ! b.length()) {return false;}int equal 0;for (int i 0; i < a.length(); i) {equal | a.charAt(i) ^ b.charAt(i);}return …

SpringBoot整合websocket实现及时通信聊天

&#x1f3a8;领域&#xff1a;Java后端开发&#x1f525;收录专栏&#xff1a; 系统设计与实战 &#x1f412;个人主页&#xff1a;BreezAm &#x1f496;Gitee&#xff1a;https://gitee.com/BreezAm ✨个人标签&#xff1a;【后端】【大数据】【前端】【运维】 文章目录&am…

2019双11,支付宝有哪些“秘密武器”?

2019双11&#xff0c;支付宝参战的第十一年。 与十一年前相比&#xff0c;双11的许多东西都改变了。比如金额——2684亿&#xff0c;差不多是十一年前的5000倍&#xff1b;比如流量——订单峰值54.4万笔/秒&#xff0c;曾经是想都不敢想的数字&#xff1b;再比如层出不穷的新技…

一文看懂 K8s 日志系统设计和实践

导读&#xff1a;上一篇文章《6 个 K8s 日志系统建设中的典型问题&#xff0c;你遇到过几个&#xff1f;》中我们介绍了为什么需要一个日志系统、为什么云原生下的日志系统如此重要以及云原生背景下日志系统的建设难点&#xff0c;相信 DevOps、SRE、运维等同学看了之后深有体会…

如何在 Kubernetes 上配置 Jenkins?

作者 | Sudip Sengupta译者 | 火火酱&#xff0c;责编 | Carol封图 | CSDN 下载自视觉中国在本文中&#xff0c;我们将一起完成在Kubernetes上配置Jenkins的工作。作为一款被广泛使用的开源CI服务器&#xff0c;Jenkins提供了数百个插件&#xff0c;能够为我们项目的构建、部署…

MySQL做数据统计SQL语句整理大全(原理+实战)

&#x1f3a8;领域&#xff1a;Java后端开发&#x1f525;收录专栏&#xff1a; MySQL原理与实战 &#x1f412;个人主页&#xff1a;BreezAm &#x1f496;Gitee&#xff1a;https://gitee.com/BreezAm ✨个人标签&#xff1a;【后端】【大数据】【前端】【运维】 文章目录&a…

如何在一周内上线50个用户增长策略

在闲鱼用户增长业务上的实验 我们最先落地的业务是在用户增长上&#xff0c;闲鱼的用户增长业务有如下描述&#xff1a; 闲鱼的卖家都是普通小卖家&#xff0c;而非专业的B类商家。因此无法统一组织起来参加营销活动带来买家活跃。我们目前DAU已经突破到2000W&#xff0c;如何…

jstat gc各参数含义

参数说明S0C第一个幸存区的大小S1C第二个幸存区的大小S0U第一个幸存区的使用大小S1U第二个幸存区的使用大小EC伊甸园区的大小EU伊甸园区的使用大小OC老年代大小OU老年代使用大小MC方法区大小MU方法区使用大小CCSC压缩类空间大小CCSU压缩类空间使用大小YGC年轻代垃圾回收次数YGC…

MySQL用户如何构建实时数仓

依托数据库生态&#xff0c;AnalyticDB for MySQL可以给用户提供分析场景下的标准解决方案&#xff0c;尤其是在大数据和性能要求较高的情况下AnalyticDB for MySQL的价值可以更好的体现。 MySQL用户为什么要单独构建数据仓库 为什么要单独构建数据仓库&#xff0c;而不是直接…

138 张图带你 MySQL 入门!

作者 | cxuan来源 | Java建设者SQL 基础使用MySQL 是一种关系型数据库&#xff0c;说到关系&#xff0c;那么就离不开表与表之间的关系&#xff0c;而最能体现这种关系的其实就是我们接下来需要介绍的主角 SQL&#xff0c;SQL 的全称是 Structure Query Language &#xff0c;…

Centos/Red Hat6.8 安装、配置、启动Gitlab (内网环境)

文章目录一、软件和源准备1. Gitlab下载2. epel源下载二、环境配置2.1. 安装依赖项2.2. 安装epel源2.3. 安装Gitlab三、Gitlab和防火墙配置3.1. 设置external_url3.2. 重新加载配置3.3. 防火墙配置四、测试验证4.1. 浏览器访问Gitlab4.2. 重新设置密码4.3. Gitlab常用命令一、软…