go in action

需求

公司要实现大中台战略,以往的后台都是基于传统的技术架构实现的系统。
系统在性能及扩展性上都存在有客观的局限性。
如何将传统系统的原子性服务或组合服务提供给中台是需要解决的一个问题。

概要设计

  • 原子性的服务,通过直连数据模型,并将其转化为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,及相关库。


go in action_第1张图片
image.png

视图层

基于json

控制层

基于golang的net库

模型

基于第三方组件连接数据库,及使用第三方ORM组件。

项目管理

源码管理

git

持续集成

jenkins

迭代计划

阶段 任务目标 详细描述
1 完成基础框架搭建 mvc处理流程及相关技术组件
2 实现元数据服务 元数据基础,属性,主键,索引等服务
3 实现数据服务 数据信息,数据统计信息

你可能感兴趣的:(go in action)