模块六作业 - 拆分电商系统为微服务
【背景】
假设你现在是一个创业公司的 CTO,开发团队大约 30 人左右,包括 5 个前端和 25 个后端,后端开发人员全部都是 Java,现在你们准备从 0 开始做一个小程序电商业务,请你设计微服务拆分的架构以及微服务基础设施选型。
【作业要求】
需要明确服务拆分思路,并且将拆分后的系统架构图画出来;
需要明确微服务基础设施选型思路,并选择一个微服务框架。
【提示】
需要应用三个火枪手原则;
需要选择拆分方式;
需要选择微服务框架的模式。
【服务拆分思路】
因为从 0 开始做一个电商小程序,因此没有历史包袱,一次性按照业务进行完全拆分成微服务:
常见的电商业务一般包括会员、商品、订单、支付、退货、库存、物流、营销、店铺等模块,也可能可以拆分出其他更多的模块。
由于目前开发人数只有 25 人,按照三个火枪手原则划分:
该平台从业务上共拆分出 8 个模块,即会员、商品、店铺、物流、订单、支付、营销、库存。
从 0 开始做,因此需要一步到位,搭建完善的基础设施。
微服务框架选择:
由于项目组都是 Java 语言,所以 dubbo 和 spring cloud 是最合适,由于我们需要搭建完善的微服务架构,而微服务框架比较完善的是 spring cloud,虽然也有 RPC 的需求,但是不是主要的,因此选择 spring cloud 微服务框架。
系统架构图画:
评论