『云计算』1分钟创建6000台云服务器,云函数是如何做到的?( 二 )
三、云硬盘快照系统肩负重任 回到云函数SCF团队的业务需求 , 1分钟创建6000台云服务器 , 启动后IO无卡顿 , 其实对于云硬盘快照系统还是一个非常大的挑战 。 云硬盘快照系统主要由三个模块组成:管理节点manager , 调度器scheduler , 数据传输模块transfer 。 管理节点manager负责快照任务管理 , 调度器scheduler负责任务调度 , 下发具体的拷贝任务 。 数据传输模块transfer则具体执行拷贝任务 。 当用户发起创建云硬盘服务器请求时 , manager模块接收请求 , 委托任务给schuduler , 指定镜像文件回滚至目标云硬盘上 。 schuduler下发具体拷贝任务 , 让transfer模块从COS将数据块拷贝写入至目标云硬盘 。
本文插图
图二. 云硬盘快照系统架构图示
挑战一 拷贝数据耗时长
高并发量下 , 如果所有镜像数据都从COS对象存储系统拉取 , 对COS的读压力会非常大 , 触发COS的Qos流控 , 且用户访问云硬盘数据IO延时高 。 解决方案 :搬迁节点transfer , 增加本地cache 。
由于云函数SCF批量创建云服务器使用同一个镜像 , 在每个搬迁节点transfer中都缓存镜像的部分数据块 , 一旦命中transfer的cache就不再从COS下载数据 , 这样每个transfer只需下载一次镜像 。
本文插图
图三. transfer增加本地cache图示
挑战二 系统QPS能力低
1分钟创建6000台子机 , 对快照系统的QPS能力要求达数十万 。 随着业务量上升 , 快照系统整体架构需具备横向扩展提升QPS的能力 。 解决方案 :调度器scheduler支持水平扩展 。
在快照回滚创建云服务器过程中 , 核心处理逻辑在调度器scheduler , 无论是顺序拷贝的调度 , 还是优先拷贝请求都要经过scheduler ,所以scheduler的负载直接影响到整个云硬盘快照系统的性能 。 scheduler单机性能有限 , 无法满足并发量要求 。 开发团队将scheduler由主从配置升级为水平扩展 , 并且整体架构均做了适配 , 使其不再成为性能瓶颈 。
本文插图
图四. scheduler水平扩展图示
挑战三 单仓库读写能力有限
如果大量的云硬盘落在同一个存储仓库 , 则会造成单仓库写入流量过大 , 触发单仓库回滚带宽限制 。 解决方案 :增加云硬盘仓库调度系统 。
在批量购买云硬盘时 , 从仓库的剩余容量、已创建的云硬盘数、回滚带宽、仓库当前用户IO写入带宽四个纬度综合考量 , 把同一批次创建的CBS云硬盘尽量打散到多个 , 满足6000台云服务器并发创建的需求 。
通过上述方案 , 云硬盘快照完成了1分钟6000台云服务器创建任务 , IO延时降低95.6% , COS读带宽降低89% , 为使用云函数SCF的企业和开发者带来服务升级 。
推荐阅读
- 分享科技小达人|华为EMUI10自带高级输入法,1分钟打200字,难怪都说华为手机好用
- 钛媒体APP|打破开放与隐私壁垒,7国30家机构创建最大医学AI协作系统
- CSDN|云计算,巨头们的背水一战
- 壹点方圆|数据中心、云计算、大数据之间有什么区别和联系?
- cnBeta|研究人员创建了首张心脏神经元的3D地图
- 爱集微APP|总投资150亿元!阿里巴巴江苏云计算数据中心扩容项目落地南通
- 市场九州云COO王忠伟:备战云计算下半场
- 计算仅4个月!北京超级云计算中心A分区资源突破1PFlops!
- 「」如果你用的是华为手机,花1分钟关掉这5个设置,再用2年都不卡
- :魅族、一加等手机厂商宣布加入小米、OPPO 与 vivo 联合创建的文件 “互传联盟”
