写点什么

架构实战营模块 6 作业

用户头像
梦寐凯旋
关注
发布于: 2021 年 06 月 13 日

作业:拆分电商系统为微服务

【背景】

假设你现在是一个创业公司的 CTO,开发团队大约 30 人左右,包括 5 个前端和 25 个后端,后端开发人员全

部都是 Java,现在你们准备从 0 开始做一个小程序电商业务,请你设计微服务拆分的架构以及微服务基础

设施选型。

【作业要求】

1.需要明确服务拆分思路,并且将拆分后的系统架构图画出来;

2.需要明确微服务基础设施选型思路,并选择一个微服务框架;

3.用 1~2 页 PPT 即可。

【提示】

1.需要应用三个火枪手原则;

2.需要选择拆分方式;

3.需要选择微服务框架的模式。


【拆分方式】

1.公司新做业务,没有线上运营数据,无法按照质量属性拆分,从 0 开始构建业务系统,适合按照业务拆分;

2.从 0 到 1 构建系统,适合采用一步到位的形式,构建电商微服务系统;

3.电商业务已经是成熟的行业,有很多行业参考,可以参照业界做服务的划分;

4.完善的微服务基础设施,需要更多的预算,更多的人力,创业公司,预算有限,业务发展不明朗,适合搭建微服务的核心基础设施;

【服务拆分】

1.小程序电商业务,参考业界,包括商品,用户,物流,订单,支付,库存,商家,财务,会员,优惠,积分,促销等;

2.按照 3 人负责一个模块的原则,划分商品,用户(包括会员),订单(物流),支付,库存,商家,财务,营销(优惠,积分,促销);共 8 个模块,其中营销变化比较多,可以分配到 4 个人一块负责;

3.架构图:


【微服务基础设施】

1.创业型的公司,业务规模不可测,预算有限,选择微服务核心基础设施;服务运行层,服务注册,发现,路由,容错;服务接入层,网关,降级,安全,流控;

2.公司使用同一的 JAVA 语言,可以使用嵌入 SDK 的方式,维护简单,在应用中嵌入微服务的框架,跟应用保持高可用,不需要额外处理;

3.开发均是 JAVA 语言,可以选用 spring cloud 作为微服务的架构,spring cloud 生态微服务组件丰富,文档齐全,开发难度小;模块之间使用 http 通信,解耦合比较好;


用户头像

梦寐凯旋

关注

还未添加个人签名 2018.11.20 加入

还未添加个人简介

评论

发布
暂无评论
架构实战营模块6作业