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