一、项目介绍
项目是一款产品化的IaaS(基础架构即服务)软件。它面向智能数据中心,通过完善的API统一管理包括计算、存储和网络在内的数据中心资源,提供简单快捷的环境搭建。5分钟完成安装和部署单台Linux机器上的POC环境;30分钟完成安装和部署多管理节点生产环境(可扩展至数万台物理服务器)。
通过完善的API管理数据中心资源,构建软件定义数据中心。用户可选择UI界面或命令行工具管理云平台,与ZStack管理节点进行友好交互。提供统一配置、统一安装、统一高可用(High Availability)和统一第三方监控的云服务解决方案,使云平台的管理更加便捷、稳定、持久。
二、优势
弹性
单个管理节点可管理数万台物理服务器、数百万台云主机,处理数千万条并发API请求。
敏捷
各类操作非常快速。以创建云主机为例,详见以下性能数据。
| 云主机数量 | 时长 |
|---|---|
| 1 | 0.51 秒 |
| 10 | 1.55 秒 |
| 100 | 11.33 秒 |
| 1000 | 103 秒 |
| 10000 | 23 分 |
网络功能虚拟化
默认网络模型基于网络功能虚拟化(NFV),为每位租户提供云路由专有网络节点。整个网络模型独立自主、安全可控,用户无需购买特定设备,也无须在计算服务器上部署网络服务器。
全API查询
支持超过400万个查询条件,以及400万阶乘的组合查询条件。用户无须编写临时脚本或登录数据库,直接通过API即可任意查询资源。
>> QueryVmInstance vmNics.eip.guestIp=16.16.16.16 zone.name=west-coast
>> QueryHost fields=name,uuid,managementIp hypervisorType=KVM vmInstance.allVolumes.size>=549755813888000 vmInstance.state=Running start=0 limit=10
便捷部署与升级
安装升级如同安装一个Java WAR文件一样简单。用户只需执行一个Bootstrap脚本,即可在5分钟内搭建一套POC环境;30分钟内搭建一套多管理节点生产环境(包括研读文档时间)。
>> [root@localhost ~]# curl http://download.zstack.org/install.sh | bash -s -- -a
全自动化
通用插件系统
严密的测试系统
三、产品架构
软件架构

-
全异步架构:异步消息、异步方法、异步HTTP调用。 -
异步消息:使用消息总线进行各服务的通信连接。在调用服务时,源服务发消息给目的服务,并注册一个回调函数,然后立即返回,一旦目的服务完成任务,就会触发回调函数回复任务结果。异步消息支持并行处理。 -
异步方法:服务之间采用异步消息进行通信。服务内部的一系列相关组件或插件,也是通过异步方法来调用,调用方法与异步消息一致。 -
异步HTTP调用:采用插件机制,为每个插件设置相应的代理程序,为每个请求设置回调URL在HTTP的包头,任务结束后,代理程序会发送应答给调用者的URL。 -
基于异步消息、异步方法、异步HTTP调用这三种方式,云平台构建了一个分层架构,保证所有组件均能实现异步操作。 -
基于全异步架构机制,单管理节点每秒可并发处理上万个API请求,还可同时管理上万台物理机和数十万台云主机。
-
-
无状态服务:单次请求不依赖其他请求。 -
计算节点代理、存储代理、网络服务、控制台代理服务、配置服务等,均不依赖其他请求。一次请求可包含所有信息,相关节点无需维护存储任何信息。 -
使用一致性哈希环,对管理节点、计算节点或其他资源以UUID为唯一ID进行认证的哈希环处理。消息发送者无需知道待处理消息的服务实例,服务也无需维护、交换相关资源信息,服务只需单纯处理消息即可。 -
管理节点间共享的信息非常少,两个管理节点即可满足高可用性和可扩展性需求。 -
无状态服务机制让系统更为健壮,重启服务器不会丢失任何状态信息,数据中心的伸缩性维护更为简单。
-
-
无锁架构:一致性哈希算法。 -
一致性哈希算法保证同一资源的所有消息均被同一服务实例来处理。这种聚合消息到特定节点的方法,降低同步与并行的复杂度。 -
使用工作队列避免竞争锁问题,串行任务以工作队列的方式保存在内存中,工作队列可对任意资源的任意操作进行并行处理来提高系统并行度。 -
基于队列的无锁架构,任务可简单控制并行度,从而提升系统性能。
-
-
进程内微服务:微服务解耦。 -
使用消息总线对各服务进行隔离控制,例如,云主机服务、身份认证服务、快照服务、云盘服务、网络服务、存储服务等。所有微服务均集合在管理节点进程内,各服务之间利用消息总线进行交互,所有消息发送到消息总线后,再通过一致性哈希环选择目的服务进行转发处理。 -
进程内微服务以星状架构实现各服务独立运行,将高度集中的控制业务进行解耦,实现系统的高度自治和高度隔离,任何服务出现故障并不影响其他组件,可靠性与稳定性得到有效保障。
-
-
全插件结构:插件支持横向扩展。 -
任何新加入的插件对目前其他插件没有任何影响, 均是独立自主提供服务。 -
支持策略模式和观察者模式进行插件设计。策略插件会继承父类接口然后执行具体实现;观察者插件会注册Listener进行监控内部业务逻辑的事件变化,当应用内部发现事件时,观察者插件会对此事件做出自响应,在插件自身代码中执行相应业务流。 -
插件的横向扩展让云平台可以快速更迭,而整体系统架构依然健壮。
-
-
工作流引擎:顺序管理,出错回滚。 -
基于XML对每个工作流程进行清晰定义,在任何步骤出现错误均可按照原本执行路径进行回滚,清理掉执行过程的垃圾资源。 -
每个工作流还可包含子工作流用于扩展业务逻辑。
-
-
标签系统:支持业务逻辑变更,增加资源属性。 -
支持使用系统标签和插件机制对原本业务逻辑进行扩展变更。 -
使用标签机制可对资源进行分组划分,支持对指定标签进行资源搜索。
-
-
瀑布流架构:支持资源的级联操作。 -
使用Cascade框架对资源管理进行瀑布状的级联操作。例如:对资源进行卸载或删除时,会对相关资源进行级联操作。 -
资源可通过插件形式加入到瀑布框架中,加入或退出瀑布框架,并不影响其他资源。 -
级联机制使得资源配置灵活轻便,快速满足客户资源配置变更。
-
-
全自动化部署:Ansible无代理自动部署。 -
使用Ansible进行无代理的全自动化安装依赖,配置物理资源,部署代理程序。全过程对用户透明,无需额外干预,透过重连代理程序对代理进行升级。
-
-
全API查询:任意资源的任意属性均可查询。 -
支持数百万个条件的资源查询,支持全API查询,支持任意组合。
-
功能架构

功能架构特点:
-
提供企业级数据中心基础设施的计算、存储、网络资源管理服务,底层支持KVM和VMware虚拟化技术,支持DAS/NAS/SAN/DSS存储类型,例如支持本地存储、NFS存储、SAN存储、分布式块存储等,支持NoVLAN/VLAN/VXLAN/SDN网络模型。 -
采用ZStack Cloud作为核心云引擎,使用消息总线同数据库MariaDB及各服务模块进行通信,提供云主机管理、物理机管理、存储调度、网络功能、账号计费、监控审计等功能。 -
提供Java和Python的SDK,支持RESTful APIs进行资源调度管理。
资源结构

资源结构特点:
- 本质上是云资源配置管理系统。
- 主要包括以下资源:
- 区域:云平台内最大的一个资源定义,包括集群、二层网络、主存储等资源。
- 集群:一组物理机(计算节点)的逻辑集合。
- 物理机:为云主机实例提供计算、网络、存储等资源的物理主机。
- 主存储:用于存储云主机磁盘文件(包括:根云盘、数据云盘、根云盘快照、数据云盘快照、镜像缓存等)的存储服务器。
- 镜像服务器:用于存储云主机镜像模板(含ISO)的存储服务器。
- VXLAN网络池:在一组VXLAN隧道端点(VTEP)之上创建的VXLAN网络的集合,同一个VXLAN网络池内VXLAN网络标识符(VNI)不能重复。
- 二层网络:对应于一个二层广播域,进行二层相关的隔离。一般用物理网络的设备名称标识。
- 三层网络:云主机使用的网络配置,包含了IP地址范围、网关、DNS等。
- 计算规格:云主机涉及的CPU数量、内存、网络设置等规格定义。
- 云盘规格:云盘涉及的容量大小的规格定义。
- 云主机:运行在物理机上的虚拟机实例,具有独立的IP地址,可以访问公共网络,运行应用服务。
- 镜像:云主机或云盘使用的镜像模板文件,包括两种类型:系统镜像、云盘镜像。
- 根云盘:云主机的数据云盘,用于云主机扩展的存储使用。
- 数据云盘:为云主机提供了额外的存储空间,用于云主机的存储扩展。
- 快照:某一时间点某一磁盘的数据状态文件。
- 网络服务模块:用于提供网络服务的模块。在UI界面已隐藏。
- 网络服务:给云主机提供的各种网络服务,主要包括VPC防火墙、安全组、虚拟IP、弹性IP、端口转发、负载均衡、IPsec隧道、流量监控、共享带宽等。
- 防火墙:在VPC网络场景下,负责管控经由VPC路由器的流量,通过配置规则集和规则管控网络的访问控制策略。
- 安全组:为云主机网卡提供安全控制,按照指定的安全规则对进出网卡的TCP/UDP/ICMP等数据包进行有效过滤。
- 路由器规格:定义VPC路由器使用的CPU、内存、镜像、管理网络、公有网络配置,用于创建VPC路由器,为公有网络/VPC网络提供多种网络服务。
- VPC路由器:一个定制的云主机,用于提供多种网络服务。
- 资源间存在以下关系:
- 创建云主机时,主存储会从镜像服务器下载复制云主机的镜像模板文件作为缓存。
- 创建镜像时,主存储会将根云盘拷贝到镜像服务器保存为模板。
- 父子关系:一个资源可以是另一个资源的父亲或孩子。例如集群和物理机、物理机和云主机。
- 兄弟关系:拥有同样父资源的资源为兄弟关系。例如集群和二层网络、集群和主存储。
- 祖先和后裔关系:一个资源可以是另一个资源的直系祖先或者直系后裔。例如集群和云主机、区域和物理机。
- 朋友关系:一些资源与资源之间没有以上三种关系,但是这些资源在某些情境下需要分工合作,这时它们是朋友关系。例如主存储和镜像服务器、区域和镜像服务器。
说明: 主存储和镜像服务器的关系:
- 资源均含有以下基本属性:
- UUID:通用唯一识别码UUIDv4(Universally Unique Identifier),用于唯一标识一个资源。
- 名称:用于标记资源的可读字符串,名称可以重复,一般为必选项。
- 描述:也称之为简介,用于概述资源,可选项。
- 创建日期:资源创建的日期。
- 上次操作日期:资源上次被更新的日期。
- 资源一般都支持CRUD操作:
- 创建:创建或添加新资源。
- 查询:读取查询资源信息。
- 更新:更新资源信息。
- 删除:删除资源,云平台使用瀑布框架级联机制,父资源被删除后,相关子资源和后裔资源均会被删除。
四、UI展示

版权声明:
1、本网站名称:帝企吧
2、本站永久网址:https://www.diqiba.com
3、本网站的文章部分内容可能来源于网络及作者投稿,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报。
6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
7、本站所有资源来源于互联网,仅用于学习及参考使用,切勿用于商业用途,如产生法律纠纷本站概不负责! 8、资源除标明原创外均来自网络转载,版权归原作者所有,若侵犯到您权益请联系我们删除,我们将及时处理! 9、若您需使用非免费的软件或服务,请购买正版授权并合法使用!
1、本网站名称:帝企吧
2、本站永久网址:https://www.diqiba.com
3、本网站的文章部分内容可能来源于网络及作者投稿,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报。
6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
7、本站所有资源来源于互联网,仅用于学习及参考使用,切勿用于商业用途,如产生法律纠纷本站概不负责! 8、资源除标明原创外均来自网络转载,版权归原作者所有,若侵犯到您权益请联系我们删除,我们将及时处理! 9、若您需使用非免费的软件或服务,请购买正版授权并合法使用!

评论(0)