写点什么

架构训练营模块六作业

发布于: 4 小时前

【背景】

假设你现在是一个创业公司的 CTO,开发团队大约 30 人左右,包括 5 个前端和 25 个后端,后端开发人员全部都是 Java,现在你们准备从 0 开始做一个小程序电商业务,请你设计微服务拆分的架构以及微服务基础设施选型。

【作业要求】

  • 需要明确服务拆分思路,并且将拆分后的系统架构图画出来;

  • 需要明确微服务基础设施选型思路,并选择一个微服务框架。

【提示】

  • 需要应用三个火枪手原则;

  • 需要选择拆分方式;

  • 需要选择微服务框架的模式。


微服务架构设计


服务拆分

由于是创业团队,从 0 开始,微服务的拆分方式可以直接从业务开始拆分,而电商业务的业务领域已经有现成的模板,所以拆分粒度只需要和团队规模,技术背景相匹配就可以了。

目前电商领域业务一般划分为;订单中心,会员中心,库存中心,店铺中心,商品中心,财务中心

根据三个火枪手的原理,25 个后端,足够维护 6 个微服务。3*6=18,剩下 25-18=7 人,3 人搭建微服务基础设施(持续集成持续部署,分布式日志,调用链跟踪,监控中心,微服务网关,配置中心等),2 人开发通用支撑功能(权限,登录,流程引擎,分布式调度),2 人负责业务接入,和前端对接,设计 http 接口,整合多个微服务接口调用。


订单中心:3 人

会员中心:3 人

库存中心:3 人

店铺中心:3 人

商品中心:3 人

财务中心:3 人

微服务基础设施:2 人,持续集成持续部署,分布式日志中心,调用链跟踪,监控中心,微服务网关,配置中心等

通用支撑功能+综合服务:3 人,权限,登录,流程引擎,规则引擎,分布式调度

接入层:2 人。和前端对接,设计 http 接口,整合多个微服务接口调用



微服务选型

由于创业团队,项目前期规模用户量都不大,毫无疑问选择嵌入 sdk 的方式。没有特别需要 rpc 的要求,可以选择 springcloud 框架(目前也比较成熟)。对于微服务技术设施目前业界也有很多成熟的方案。


用户头像

还未添加个人签名 2018.05.02 加入

还未添加个人简介

评论

发布
暂无评论
架构训练营模块六作业