写点什么

架构实战训练营 - 模块六作业

作者:小畅
  • 2024-06-15
    北京
  • 本文字数:862 字

    阅读完需:约 3 分钟

题目背景

假设你现在是一个创业公司的 CTO,开发团队大约 30 人左右,包括 5 个前端和 25 个后端,后端开发人员全部都是 Java,现在你们准备从 0 开始做一个小程序电商业务,请你设计微服务拆分的架构以及微服务基础设施选型。


小程序商城示意图



小程序商城业务用例图



拆分思路 &原则

1.  拆分维度:从 0 开始做,另外电商业务业界也比较成熟,因此选择按【业务拆分】

2.  基于三个火枪手原则:基于后端开发人数,拆分成 8 个服务左右

3.  微服务框架选型:嵌入式 sdk,反向代理,网络代理

微服务框架



● 初创团队,没有历史包袱

● 只有一种开发语言 JAVA

● 从 0 开始的业务,前期业务量也不会特别大;服务器集群的规模不会太高

● 选择小程序端电商业务是希望新业务快速迭代与商业模式的跑通

基于这些考虑,选择嵌入 SDK 的微服务框架,虽然有一些侵入,但天然支持高性用高可用,同时还没有额外的维护工作;选 RPC 架构 dubbo

基础设施建设



● 结合老师课堂上讲解的优先级,可以优先处理第一层【服务运行层】中的服务注册、服务发现、服务路由、服务容错

● 后续迭代将第二层【服务接入层】、第三层【基础设施层】逐步接入,最后考虑第四层【技术支撑层】的接入。

微服务拆分

小程序电商业务系统中包含如下业务:



● 因电商业务本身比较成熟,基于“三个火枪手”原则,采用多对一方来将业务域转换为微服务。

● 总共包括以下业务模块:

○ 前端电商业务模块:商品中心、店铺中心、会员中心、订单中心、营销中心、支付中心、售后中心、客服中心

○ 后端 ERP 模块:采购中心、库存中心、财务结算、物流中心

○ 像支付中心、售后中心、客服中心可以是前端业务的支撑服务,也可以单独隶属于中台服务

最终微服务拆分可以有如下两种方式:

● 方式一:

○ 商品、店铺、会员、订单、营销、采购、库存、支付、售后 &客服、物流、财务结算等 11 个模块

● 方式二:

○ 商品、店铺、会员、订单、营销、支付、售后 &客服、SCM(采购、库存、物流)、财务结算等 9 个模块

● 基于目前团队规模可以选择方式二,营销与售后 &客服功能可后续迭代上线,供应链侧优先库存,物流可使用第三方功能,采购保证基本功能

用户头像

小畅

关注

还未添加个人签名 2024-03-09 加入

还未添加个人简介

评论

发布
暂无评论
架构实战训练营-模块六作业_小畅_InfoQ写作社区