写点什么

拆分电商系统为微服务

作者:Steven
  • 2021 年 12 月 10 日
  • 本文字数:563 字

    阅读完需:约 2 分钟

【背景】

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

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

基础设施选型。

【作业要求】

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

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

3. 用 1~2 页 PPT 即可。


业务域 & 服务拆分

业务域

基于电商业务整理出 12 个业务域:

  1. 订单

  2. 库存

  3. 商品

  4. 支付

  5. 店铺

  6. 活动

  7. 会员

  8. 财务

  9. 物流

  10. 搜索推荐

  11. 购物车

  12. 统计分析

服务拆分

由于是从 0 开始的的业务系统,适用业务拆分方式,应用三个火枪手原则,当前开发团队一共 25 个后端,微服务数量可拆成 25/3=8 个。其中:

  • 商品、搜索推荐、店铺合并为商品服务。

  • 购物车、订单、物流合并为交易服务。


系统架构图


基础设施选型

因为是创业团队,而且从 0 开始,所以前期可以只选择最基础和必要的设施,如图所示优先级:

  • 技术支撑层的基本都可以在后续逐步添加完善,但其中的分布式事务初步考虑选择,方案设计阶段进一步况考虑和确定是否选择。


微服务框架选择

后端开发人员都是 java,为单一语言,而且前期服务规模不会大,主要是快速上线验证业务,基本不可能达到上千台服务器的规模,所以选择嵌入 SDK 的微服务框架模式。Spring Cloud 相对 Dubbo 更加完善,而且不需要 RPC,因此选择 Spring Cloud。


用户头像

Steven

关注

还未添加个人签名 2008.07.18 加入

还未添加个人简介

评论

发布
暂无评论
拆分电商系统为微服务