架构作为 6
作业内容
拆分电商系统为微服务
【背景】
假设你现在是一个创业公司的 CTO,开发团队大约 30 人左右,包括 5 个前端和 25 个后端,后端开发人员全部都是 Java,现在你们准备从 0 开始做一个小程序电商业务,请你设计微服务拆分的架构以及微服务 基础设施选型。
【作业要求】
1. 需要明确服务拆分思路,并且将拆分后的系统架构图画出来;
2. 需要明确微服务基础设施选型思路,并选择一个微服务框架;
3. 用 1~2 页 PPT 即可。
【提示】
1. 需要应用三个火枪手原则;
2. 需要选择拆分方式;
3. 需要选择微服务框架的模式。
参考架构
项目业务架构参考下图:
拆份思路
【人员配置】
按照三个火枪手原则,一个微服务由 3 个后端开发人员负责。团队推荐非服务拆份数量为:
25 / 3 = 8 ~ 9 个。
【业务分析】
在整个业务服务框架中,数据中台,仓储物流,会计结算等业务,属于业务需求较为稳定的业务。可以作为单个独立的微服务进行开发。业务中台数据业务变化频繁的模块,可以根据业务复杂度进行进一步的拆份。初步可按照业务将业务划分为:订单中心、会员中心、库存中心、店铺中心、商品中心、财务中心等 6 个微服务。
拆分后系统架构图
微服务基础设施
【基础设施服务框架】
【选型逻辑】
由于后端开发人员均为 java 开发人员。所以考虑采用 Dubbo 或者 springCloud 架构。考虑到微服务中存在微服务间项目调用的需求,故采用具备 RPC 能力的 Dubbo 架构。
版权声明: 本文为 InfoQ 作者【梁山伯】的原创文章。
原文链接:【http://xie.infoq.cn/article/08fdc414b0ec390400f323edb】。未经作者许可,禁止转载。
评论