电商系统的微服务拆分方案设计
背景
开发团队大约 30 人左右,包括 5 个前端和 25 个后端,后端开发人员 全部都是 Java,准备从 0 开始做一个小程序电商业务。
需求分析
电商业务的业务需求基本已经定型,基本分为
用户服务
会员服务
商品服务
店铺服务
订单服务
购物车服务
支付服务
微信
支付宝
库存服务
财务服务
物流服务
结算服务
客户端场景则为小程序,为了尽可能扩大受众,我们一般选择最热门的两个平台:
支付宝小程序
微信小程序
应用与人员规划
前端
由于前端人数为 5 人,则 5 人负责 2 个小程序,一个为微信小程序一个为支付宝小程序
后端
由于后端人数只有 25 人,按三人一组来分配(三个火枪手原则),只能接受 8 个左右的应用分配
所以我们将业务进行组合后得到 8 个服务:
用户服务
用户服务
会员服务
商品服务
商品服务
店铺服务
购物服务
购物车服务
订单服务
支付服务
微信服务
支付宝服务
库存服务
财务服务
物流服务
结算服务
系统架构图
![](https://static001.geekbang.org/infoq/87/874846f36ac83b33c23200e307da5eed.png)
微服务架构选型
分析
由于后端团队只有 25 人,且都是 java 语言,不用为了多语言而考虑,我们微服务框架采用嵌入 SDK 方式
由于性能的要求可能并没有要求非常高,我们直接采用 http 方式作为服务间通讯,方便维护。
所以我们选择 SpringCloud 框架作为微服务框架。
评论