架构实战营第 10 期模块六
作业要求
拆分电商系统为微服务
【背景】
假设你现在是一个创业公司的 CTO,开发团队大约 30 人左右,包括 5 个前端和 25 个后端,后端开发人员全部都是 Java,现在你们准备从 0 开始做一个小程序电商业务,请你设计微服务拆分的架构以及微服务基础设施选型。
【作业要求】
需要明确服务拆分思路,并且将拆分后的系统架构图画出来;
需要明确微服务基础设施选型思路,并选择一个微服务框架;
用 1~2 页 PPT 即可。
【提示】
需要应用三个火枪手原则;
需要选择拆分方式;
需要选择微服务框架的模式。
拆分思路
由上图得到如下方式
【拆分方式】
因为是从 0 开始的业务,没有历史数据参考,考虑按业务拆分。
【拆分粒度】
后端开发人员一共 25 个,考虑三个火枪手原则,拆分为 8 个微服务。
【基础设施】
开发团队为单一 Java 技术栈,因此适用嵌入式 SDK 框架模式。
【落地方式】
由于是从 0 开始的新业务,适用一步到位的方式。
微服务具体设计
按业务拆分,8 个微服务可分为如下:用户中心、商品服务、订单服务(包括库存)、支付服务、物流服务、商家服务、客服服务、运营服务。
JAVA 技术栈选择:PaaS 架构应该是首选,再是考虑服务器资源利用率的情况,应该会选择 K8S 实现容器编排。
可以以优先考虑使用 SpringBoot。考虑 RPC 接口,考虑整合 dubbo,前端 Vue 书写页面
评论