需求
公司要实现大中台战略,以往的后台都是基于传统的技术架构实现的系统。
系统在性能及扩展性上都存在有客观的局限性。
如何将传统系统的原子性服务或组合服务提供给中台是需要解决的一个问题。
概要设计
- 原子性的服务,通过直连数据模型,并将其转化为RESTFULL的方式来实现。
- 组合服务通过接口适配转换及转化为统一RESTFULL的方式来实现。
详细设计
原子性服务设计
- 服务列表
服务编号 | 服务名称 | 备注 |
---|---|---|
模型元数据 | schema/base/${MODEL_NAME} | 如果${MODE_NAME}为空,则是全部信息 |
模型属性元数据 | schema/prop/${PROP_NAME} | 如果${PROP_NAME}为空,则是全部信息 |
模型主键元数据 | schema/primary_key/${PRIMARY_KEY} | 如果${PRIMARY_KEY}为空,则是全部信息 |
模型数据 | model/data/${MODEL_NAME} | 如果${MODEL_NAME}为空,则是全部信息 |
模型统计 | model/stastic/${MODEL_NAME} | 如果${MODEL_NAME}为空,则是全部信息 |
- 服务参数
- 翻页参数
Pagination {
offset : int
limit : int
}
模型元数据信息
视图层
JSON控制层
GET protocal://ip:port/schema/model/${MODEL_NAME}模型层
字段名称 | 字段类型 | 备注 |
---|---|---|
NAME | string | 模型名称 |
COMMENT | string | 模型备注 |
实现
技术选型
完全因为学习,选择了golang,及相关库。
视图层
基于json
控制层
基于golang的net库
模型
基于第三方组件连接数据库,及使用第三方ORM组件。
项目管理
源码管理
git
持续集成
jenkins
迭代计划
阶段 | 任务目标 | 详细描述 |
---|---|---|
1 | 完成基础框架搭建 | mvc处理流程及相关技术组件 |
2 | 实现元数据服务 | 元数据基础,属性,主键,索引等服务 |
3 | 实现数据服务 | 数据信息,数据统计信息 |
有疑问加站长微信联系(非本文作者)