zstack(四)zstack架构简介

本篇简单介绍一下zstack的架构设计。现在的zstack加入了一个新的模块woodpecher,用于自动化测试。由于本人对这块没有研究过,这里先不讲这个。

写在前面:

ZStack的几个特色点,官方已经明确说过了。即ZStack的亮点包括:
1. 巨大的可扩展性:全异步架构、无状态服务、无锁结构
2. 高灵活性和扩展性:进程内微服务、插件系统、工作流引擎、tag系统、级联架构
3. 简单的部署和维护:提供一键部署、完整的查询API

接下来我们就剖析一下他说的这些亮点。

一、整体系统组件

zstack整套系统分为三个部分,ZStack,ZStack dashboard,ZStack Utility。

  • zstack-dashboard: 用于zstack的web操作UI。
  • zstack:zstack java用于zstack的核心逻辑处理,也就是zstack management node。以后我们统称为zstack core。
  • zstack-Utility:包含客户端代理、部署等组件

整体系统概图如图所示:

zstack(四)zstack架构简介_第1张图片

1.1 ZStack Dashboard

Dashboard是zstack的客户端。提供用户操作界面,包括Web形式以及命令行模型。dashboard在客户端和Zstack Core之间,是通过RESTful API进行交互。他的web做的还挺好看的,操作管理也比较方便、直观。技术方面,其实就是一个Python web程序。消息的收发,在后台利用python进行封装,向core发起RESTful请求。
(讲道理,作为一名后台程序员,我在扩展dashboard前段代码的时候,遇到了很多问题,主要都是angularJS的问题,感觉比后台代码还难改,相信前端同学ok的)

在ZStack core 内部,利用的是消息队列进行的交互。
在zstack agent和core之间,是利用RESTful进行的交互。

1.2 ZStack

这部分是zstack的核心。zstack虽然可以提供多管理节点部署,但其实质上,是一个单进程多线程程序,业务逻辑基本都在这里实现。这里面包含了上述说到的zstack的亮点实现。这里先暂时不讲,后面单独拿来说。

1.3 ZStack Utility

这块是zstack相对核心处理逻辑和客户端的其他部分。包含了部署、agent等。 算了,这个没啥说的,先不说

接下来下一节,我们介绍一下zstack的亮点设计的几个方面。

你可能感兴趣的:(云计算,开源,zstack解析)