后端服务框架
介绍云平台后端服务所用的框架和相关库的使用方法,建议先阅读 开发手册/服务组件介绍 了解各个服务大概的功能。
后端服务框架
keystone, region, glance 等后端服务,都是用的同一套后端服务框架,这个框架是我们自己定义实现的,核心模块如下:
-
REST API: 负责解析客户端发送的 CRUD http 请求,将不同的请求对应到 Model Dispatcher 模块。
-
Model Dispatcher: 将客户端的请求分发到对应资源的业务操作。
-
Model: 定义云平台各种资源,会进行数据库读写相关操作,如果具体业务需要进行耗时操作,会通过 Task 机制来执行耗时任务。
-
Task: 后台处理异步耗时任务的模块,会通过更新 Model 的状态来更新任务的执行结果。
Cloudpods 代码结构
- build: 打包rpm脚本
- cmd: 可执行binary入口程序
- pkg: 库
- appsrv: 通用http服务框架
- cloudcommon: 云平台服务框架,基于appsrv扩展
- cloudcommon/options: 通用options
- cloudcommon/app: 通用服务初始化代码
- cloudcommon/db: Model dispatcher和Models的基础实现
- cloudcommon/db/lockman: 锁实现
- cloudcommon/db/taskman: 异步任务框架