架构训练营 - 模块 6 作业
拆分电商系统为微服务
【背景】
假设你现在是一个创业公司的 CTO,开发团队大约 30 人左右,包括 5 个前端和 25 个后端,后端开发人员全部都是 Java,现在你们准备从 0 开始做一个小程序电商业务,请你设计微服务拆分的架构以及微服务 基础设施选型。
【作业要求】
1. 需要明确服务拆分思路,并且将拆分后的系统架构图画出来;
2. 需要明确微服务基础设施选型思路,并选择一个微服务框架;
3. 用 1~2 页 PPT 即可。
【提示】
1. 需要应用三个火枪手原则;
2. 需要选择拆分方式;
3. 需要选择微服务框架的模式。
整体思路
由于是从零开始构建一个服务,所以采用按 业务拆分
微服务。创业公司基础设施不完善,需要按照微服务基础设施优先级 逐步
落地。服务拆分落地方式采用 一步到位
的方式。
由于后端开发技术栈统一为 Java 开发语言,所以可以采用 嵌入SDK
的方式,这样无需额外维护工作,并且天然支持高性能、高可用。微服务框架可以根据团队的熟悉程度,选择 Spring Cloud
或者是 Dubbo
。
根据 3 个火枪手的指导原则,后端开发人员一共有 25 个人,所以后端模块可以拆分为8个
,实际拆分数量可以结合团队的工作能力再进行调整。
系统架构图
通常情况下电商服务的性能要求并不高,但是在热卖商品抢购的时候,则需要很高的性能,所以将促销服务划分为单独的微服务,微服务的架构图如下所示:
各个微服务的功能为:
会员服务
:维护用户账号信息,同时负责账号的登陆管理。商品服务
:维护商品信息,负责商品的展示和查询库存服务
:维护商品库存,同时跟踪物流进度。订单服务
:维护订单信息支付服务
:对个各个支付平台,同时负责财务结算。促销服务
:负责抢购活动
评论