本文是在云平台构建过程中的一些经验总结,主要说明了PaaS层的微服务架构设计和落地。
目标
降低系统的复杂度,减少系统的不确定性。
方法
量化,标准化,自动化。
规范
流程规范
- 工程创建流程
- 开发流程
- 源码管理流程
- 测试流程
- 发布流程
设计规范
- 微服务设计
- 接口设计
- 监控设计
代码规范
- 代码组织
- 代码开发
工具规范
- 自动化开发工具
- CI/CD工具
- 单元测试工具
- 代码质量管理工具
- 自动化测试工具
架构实践
标准化业务层次
梳理业务体系和服务能力,将PaaS平台分层。
- 聚合领域服务能力的应用服务层
- 提供基本数据访问能力的领域服务层
标准化治理方式
统一使用标准化的微服务治理组件,规范微服务工程模板和领域模型。
a, 治理组件
- Registry: Eureka(服务发现)和Spring Cloud Config(统一配置);
- UAA: User Accout and Authentication(统一身份验证);
- Monitor:ELK(日志监控)。
b, 工程模板
- JHipster标准的工程模板
- JHipster标准的领域模型
标准化集成单元
一个标准化集成单元包括应用网关,应用微服务,领域网关,领域微服务,数据库等。
- 领域微服务(Domain Service)
- 领域网关(Domain Gateway)
- 应用微服务(Application Service)
- 应用网关(Application Gateway)
- 数据库(DB)
自动化标准工作
- 通过自动化工具,自动生成标准化代码,提高开发效率和代码质量。具体实践可。
- 通过DevOps工具,代码提交后自动构建部署,实现开发和测试环境的自动化运维。具体实践可。