模块六作业
拆分电商系统为微服务
【背景】
假设你现在是一个创业公司的 CTO,开发团队大约 30 人左右,包括 5 个前端和 25 个后端,后端开发人员
全部都是 Java,现在你们准备从 0 开始做一个小程序电商业务,请你设计微服务拆分的架构以及微服务
基础设施选型。
【作业要求】
1. 需要明确服务拆分思路,并且将拆分后的系统架构图画出来;
2. 需要明确微服务基础设施选型思路,并选择一个微服务框架;
3. 用 1~2 页 PPT 即可。
【提示】
1. 需要应用三个火枪手原则;
2. 需要选择拆分方式;
3. 需要选择微服务框架的模式。
1. 系统架构设计
目前系统为从 0 开始构建业务系统,故按业务拆分微服务,搭建完善基础设施,按照微服务基础设施优先级逐步落地。服务拆分落地方式选择一步到位。由于电商领域国内已有较为成熟的业务,所以决定参考业界实现。
【业务域划分】
目前电商业务一般划分如下
【服务拆分】
按照三个火枪手原则,平均三个开发人员负责维护一个微服务。现有 25 个后端,共可维护 25/3=8 个微服务。
目前有 12 个业务域,按照多对一的方式进行整合划分,将订单,支付,库存,财务合并为交易服务;将站点,商品合并为商品服务。最终业务架构图如下
2. 微服务基础设施选择
由于后端开发人员全部为 Java,并且公司规模不大,可以考虑不适用 rpc,故最终选择使用 Spring Cloud 作为微服务框架
版权声明: 本文为 InfoQ 作者【VE】的原创文章。
原文链接:【http://xie.infoq.cn/article/7e448371adaf46083d15bdfa5】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论