加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码门户网 (https://www.92codes.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 云计算 > 正文

每天5分钟精通公有云架构|计算子系统整体架构

发布时间:2023-01-13 18:31:03 所属栏目:云计算 来源:转载
导读: 本文是关于云计算架构的系列文章,期望每天用大概5分钟的时间介绍公有云架构的一个知识点,如果阅读时间超过5分钟或者有不理解的请在下面留言。
今天我们介绍一下公有云中计算子系统的整体

本文是关于云计算架构的系列文章,期望每天用大概5分钟的时间介绍公有云架构的一个知识点,如果阅读时间超过5分钟或者有不理解的请在下面留言。

今天我们介绍一下公有云中计算子系统的整体架构。前文已经介绍计算子系统的功能主要包括计算资源的虚拟化、资源调度和资源分配。在公有云环境中,资源分配是核心,其目的是如何保证整个计算资源的利用最大化,及异常情况下的可用性保证。其采用的方式通常是将物理服务器统一管理起来,形成一个大的计算资源池,然后通过计算子系统实现资源的再分配。

云计算产品云计算产品_云计算为什么叫云计算_云计算系统组成

图1 计算子系统核心组件

计算子系统的核心组件包括管理接口服务、资源调度服务和资源分配服务3大服务。为了降低耦合,这3个服务之间通过消息队列进行通信,同时各个服务各司其职,完成计算资源的最终分配,并最终将创建的计算实例(虚拟主机或者裸机)呈现给用户。除了3大服务外,该子系统依赖一些外部子系统,比如镜像服务、网络服务和存储服务等等,这些我们后续介绍。图1中橙色的是计算子系统的核心服务,而蓝色的是其所依赖的服务。

管理接口服务对外提供计算资源的管理接口,是唯一用户可以直接访问的服务。目前业界统一的做法是基于RESTful API的方式对外提供,亚马逊、阿里和华为等公司都采用这种方式。该服务除了接收用户的请求并转发到调度服务外,最主要的工作是完成鉴权和配额管理的工作。所谓鉴权就是确定访问用户的合法性;而配额管理是确保用户申请的资源数量在允许的范围内,避免恶意申请对资源池造成冲击。如下是阿里云ECS服务创建虚拟机的接口。

https://ecs.aliyuncs.com/?Action=CreateInstance
&RegionId=cn-hangzhou
&ImageId=_32_23c472_20120822172155_aliguest.vhd
&SecurityGroupId=sg-c0003e8b9
&HostName=Bctest01
&InstanceType=ecs.t1.small
&<公共请求参数>

资源调度服务实现计算单元创建的调度工作,负责将请求转发到具体的物理服务器上执行计算资源的分配工作。资源调度服务会与资源分配服务定期通信,收集资源分配服务上可用的计算资源的信息,然后进行汇总。当接收到来自管理接口服务的创建计算实例的请求时,会根据物理服务器的资源剩余情况和特性以及预申请资源的属性进行匹配,然后将请求调度到具体的物理服务器执行。

资源分配服务进行计算实例的实际分配,该服务运行在每个物理服务器上。该服务会调用其它子服务的接口创建依赖的资源,例如虚拟网络、云硬盘和系统镜像等。其自身做的事情是分配计算资源,也就是对本服务器计算资源的申请分配。计算分配服务的核心其实是计算虚拟化技术,通过计算虚拟化可以将物理计算资源切割为预定义粒度的计算实例(虚拟机)。目前各个公有云厂商采用的虚拟化技术普遍基于KVM开源软件云计算系统组成,KVM可以实现计算资源的半虚拟化,性能损耗非常小。

云计算产品云计算产品_云计算为什么叫云计算_云计算系统组成

图2 计算子系统部署示意图

数据库和消息队列对计算子系统来说非常重要。数据库记录着计算子系统的资源使用情况、每个租户使用的资源以及所有资源的配置信息等核心数据。而消息队列则是各个服务之间进行通信的媒介。同时,由于公有云环境请求量通常比较大,因此管理接口服务和资源调度服务等都以集群的方式进行部署,并且可以支持横向扩展,从而保证能够满足负载要求。如图2是进行简化的物理部署示意图,实际部署情况要复杂的多。比如管理接口服务前要有流控服务,避免将整个管理服务压死;同时还要有负载均衡服务,实现请求向集群各个节点的转发等等。

由于时间有限,有些地方介绍的比较粗糙,后面会逐渐深入进去,今天先到这。

(编辑:源码门户网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!