拆分电商系统为微服务
【背景】
假设你现在是一个创业公司的 CTO,开发团队大约 30 人左右,包括 5 个前端和 25 个后端,后端开发人员
全部都是 Java,现在你们准备从 0 开始做一个小程序电商业务,请你设计微服务拆分的架构以及微服务
基础设施选型。
【作业要求】
1. 需要明确服务拆分思路,并且将拆分后的系统架构图画出来;
2. 需要明确微服务基础设施选型思路,并选择一个微服务框架;
3. 用 1~2 页 PPT 即可。
业务域 & 服务拆分
业务域
基于电商业务整理出 12 个业务域:
订单
库存
商品
支付
店铺
活动
会员
财务
物流
搜索推荐
购物车
统计分析
服务拆分
由于是从 0 开始的的业务系统,适用业务拆分方式,应用三个火枪手原则,当前开发团队一共 25 个后端,微服务数量可拆成 25/3=8 个。其中:
商品、搜索推荐、店铺合并为商品服务。
购物车、订单、物流合并为交易服务。
系统架构图
基础设施选型
因为是创业团队,而且从 0 开始,所以前期可以只选择最基础和必要的设施,如图所示优先级:
技术支撑层的基本都可以在后续逐步添加完善,但其中的分布式事务初步考虑选择,方案设计阶段进一步况考虑和确定是否选择。
微服务框架选择
后端开发人员都是 java,为单一语言,而且前期服务规模不会大,主要是快速上线验证业务,基本不可能达到上千台服务器的规模,所以选择嵌入 SDK 的微服务框架模式。Spring Cloud 相对 Dubbo 更加完善,而且不需要 RPC,因此选择 Spring Cloud。
评论