拆分电商系统为微服务
作业要求
【背景】
假设你现在是一个创业公司的 CTO,开发团队大约 30 人左右,包括 5 个前端和 25 个后端,后端开发人员全部都是 Java,现在你们准备从 0 开始做一个小程序电商业务,请你设计微服务拆分的架构以及微服务基础设施选型。
【作业要求】
- 需要明确服务拆分思路,并且将拆分后的系统架构图画出来; 
- 需要明确微服务基础设施选型思路,并选择一个微服务框架。 
【提示】
- 需要应用三个火枪手原则; 
- 需要选择拆分方式; 
- 需要选择微服务框架的模式。 
拆分思路
根据课件里老师提供的拆分思路,我们有如下的选择
 
 基于作业的要求,由于需求背景为从零开始来构建业务系统(电商小程序),所以推荐采用第一种微服务实施方式,具体如下:
- 拆分方式:按照业务拆分微服务 
- 基础设施要求:搭建完善基础设施,按照微服务基础设施优先级逐步落地 
- 落地方式:一步到位 
系统架构
架构模块
我们首先把电商系统划分以下不同的模块
- 商品模块 
- 购物车模块 
- 支付/订单模块 
- 促销模块 
- 库存模块 
- 用户/管理模块 
- 商铺模块 
- 财务模块 
团队划分
因为是 25 人的后端团队
- 按照“三个火枪手”的服务拆分原则 
- 采用业务模块与微服务“一对一”拆分粒度 
微服务划分
结合团队人数和模块划分,我们可以拆分为以下微服务
- 商品微服务 
- 购物车微服务 
- 销售微服务 
- 促销微服务 
- 库存微服务 
- 用户微服务 
- 商铺微服务 
- 财务微服务 
微服务
由于开发人员全部都是 Java 且小程序对接不需要 RPC,故使用 Spring Cloud 作为微服务框架。最后的微服务框架如下
 
 版权声明: 本文为 InfoQ 作者【9527】的原创文章。
原文链接:【http://xie.infoq.cn/article/80a83020a8708c0f6e8649be1】。文章转载请联系作者。












 
    
评论