[关闭]
@Rookie 2022-04-20T15:28:42.000000Z 字数 2117 阅读 531

云管船6.5 半定制业务方案

赢海


架构设计

image_1fu66lde0e5al9n1dpopvfd8qm.png-199.9kB
WechatIMG10486.png-719.2kB

宁波泽瑞技术

泽瑞采用的是采用的是微服务插拔使用,合成定制功能进行半定制,
前后端都独立出一份代码分支 , 然后进行定制功能开发, 使用到平台版功能和服务直接调用平台的微服务进行使用.

宁波泽瑞独立原因

  1. 产品标准版更新迭代速度太快,影响标准客户
  2. 标准版服务有诸多和客户需求不一致的情况,需要进行定制
  3. 定制版和标准版产品理念冲突严重,对客户问题响应较慢
  4. 产品和标准版技术方案以及修改调整不及时

半定制可行性分析

基于第二事业部拆分实践以及总结,基于目前6.5系统架构可以进行半定制项目推进和研发

开发上线流程图.png-455.2kB

全模块定制

微服务架构合并等技术问题,暂不考虑

半定制模块前提

  1. 半定制模块是基于目前6.5模块基础上针对不同公司进行定制开发, 如果此模块进入到半定制开发,那么此模块不在进行标准版本升级和更新, 一切需求按照客户需要进行定制开发
  2. 如果半定制模块有关联到标准版模块, 那么此标准版模块也需要进行定制开发,后续不在进行标准版升级和优化
  3. 如果是我们目前没有的模块需要定制同理按照半定制逻辑去处理
  4. 此前提需要做和售前培训以及合同中去

半定制拆分成本

  1. 如果有公司想进行半定制模块, 那面前期模块拆分的成本以及数据迁移的成本需要进行考虑, 此成本暂时预估半个人月??左右
  2. 转半定制模块拆分成本是一次性, 后续在有模块进行定制需要考虑到数据迁移成本
  3. 此成本需要培训售前以及合同中体现

管理方式

模块负责制

  1. 团队按照模块负责 , 不按照项目制, 模块共同问题需要横向同步解决
  2. 纵向每个项目对应的产品经理以及项目负责人来分发需求和问题处理
  3. 模块负责制对后续人员变动交接成本也会相对较小
  4. 每个模块有对应的PL,进行项目间的协调和管理,项目PL统一对象PM进行资源调配

产品和项目冲突

  1. 基于此前的问题产品不稳定以及产品更新迭代速度过快, 这样对定制版影响也非常大.所以建议在产品大模块开发完成之后在进行半定制版推进(预计第四季度可以推进半定制)
  2. 产品和项目冲突具体在进行分析资源进行调配和补充
  3. 分组织架构进行横向推进,后期可能需要进人员资源

项目管理-注意点

  1. 项目之前的维护以及共同技术要保持一致性,标准版模块通用组件升级要同步到客户进行升级维护
  2. 项目之间人员的协调
  3. 项目中产生的问题同步修改升级等问题

技术难点

  1. 微前端方案是否可以实现
  2. 前端打包抽取共同服务配置
  3. 客户端打包定制数据源配置
  4. 微服务拆分合并成一个项目
  5. 版本管理,具体产品版本 以及 客户版本

技术方案

服务器

目前服务器以及架构不用变, 在此基础上进行业务拆分以及数据库的拆分来做半定制业务

Rancher

Rancher和k8s都是用来作为容器的调度与编排系统. 但是rancher不仅能够管理应用容器,更重要的一点是能够管理k8s集群

标准版

目前标准版Rancher分为 Product和Service 分别用来管理前台服务 以及后台服务

定制版

定制版Rancher 在标准版基础上 新增一个公司的服务,里面负责进行此公司的定制模块前端和后端模块服务的部署和编排

微服务

微服务是一种开发软件的架构和组织方法,其中软件由通过明确定义的 API 进行通信的小型独立服务组成。这些服务由各个小型独立团队负责。微服务架构使应用程序更易于扩展和更快地开发,从而加速创新并缩短新功能的上市时间。

标准版

产品标准版微服务是根据业务进行的服务拆分, 其中包括证书服务, 维保服务,通知服务等等, 这些服务对应后台也是一个独立的.

定制版

定制版微服务这里对应Rancher是一样的, 在标准版基础上会有一个定制公司的服务, 这个定制公司服务里面会包含多个定制模块, 以一个公司的维度新建一个微服务进行独立出来的.

数据库

数据库(DB,database)是按照数据结构来组织、存储和管理数据的“仓库”

标椎版

产品标准版数据同样是跟进业务进行拆分的多个数据库DB, 这里面包含基础DB,费用DB,维保DB,费用DB等等, 不同的数据针对不同的模块以及业务数据的存储

定制版

定制版数据库是基于标准模块DB的基础上新增公司维度的DB, 定制公司DB里面包含了公司定制模块的数据库表等业务逻辑表(这里可以斟酌,是不是按照模块公司划分?)

客户端

客户端是指在船上使用的云管船系统

标准版

标准版是现有模块在船上可以使用的模块

定制版

定制版客户端是和6.5 模块客户端打包配置在一起, 这里需要注意公司定制模块的同步数据源配置, 如果共同模块升级需要进行全客户端升级, 单独定制模块升级的话只升级定制公司一个客户端即可

PC/APP

同理客户端

PC问题(微前端问题)

现在定制版PC在使用定制模块和标准模块的关系, 是在打包的时候进行标准模块进行抽取打包,这里需要注意如果定制模块和标准模块需要进行清晰划分.

APP问题

APP 定制版是通过web页面进行公司模块定制,这里和PC同理

OPR/MGR

赢海后台还是负责租户的管理
企业后台负责船舶人员以及权限的管理公用现有云管船6.5 系统即可

升级

后台/前台升级

标准版升级全客户升级(所有定制客户都需要升级打版一遍,这里定制客户多的话是个大工程)
定制版定制模块只升级定制公司即可

赢海后台(前台)/企业后台(前台)升级

直接升级即可

APP升级

全量升级, 如果升级标准模块,定制客户可以不更新升级

数据迁移(需具体分析)

全表迁移, 其他公司垃圾数据清理掉即可

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注