Cloudpods是完全自研的一套云平台,Golang是该平台的主要后端开发语言。本文介绍我们在平台开发迭代过程中关于Golang的经验以及在Golang上积累的框架和库,包括积累的Golang工具库,以及基于这些工具库实现的开发框架。
1、背景介绍
Cloudpods(云联壹云)从年开始迭代开发。当时企业的IT环境已经不仅仅是本地的虚拟机以及裸金属,不少企业已经逐步采纳多云。所以Cloudpods平台作为新一代的云平台,需要不仅能管理本地IT环境中的虚拟机和裸金属,还能管理其他的云平台的资源,特别是公有云。实现所有的资源在一个平台上统一运维,操作,起到降低运维复杂度并提高企业IT运维效率的目的。
为了实现一个统一的多云平台,我们采用了最适合开发云原生应用的Golang作为后端开发语言。前端则采用Vue框架。整个平台基于微服务框架。服务之间的认证鉴权基于OpenStackKeystone的框架(我们用Golang重新实现了Keystone)。
2、CloudpodsGolang技术栈
云联壹云的Golang技术栈包含两部分:
首先是一个Golang的服务框架,所有的服务组件都基于同一套服务框架来开发,这个服务框架针对云平台的特点做出优化,适合快速开发云服务的API和异步任务逻辑。
其次是四个主要的Golang工具库
jsonutils:JSON序列化和反序列化
转载请注明:http://www.0431gb208.com/sjszlff/1141.html