电商系统的微服务拆分方案设计
背景
开发团队大约 30 人左右,包括 5 个前端和 25 个后端,后端开发人员 全部都是 Java,准备从 0 开始做一个小程序电商业务。
需求分析
电商业务的业务需求基本已经定型,基本分为
用户服务
会员服务
商品服务
店铺服务
订单服务
购物车服务
支付服务
微信
支付宝
库存服务
财务服务
物流服务
结算服务
客户端场景则为小程序,为了尽可能扩大受众,我们一般选择最热门的两个平台:
支付宝小程序
微信小程序
应用与人员规划
前端
由于前端人数为 5 人,则 5 人负责 2 个小程序,一个为微信小程序一个为支付宝小程序
后端
由于后端人数只有 25 人,按三人一组来分配(三个火枪手原则),只能接受 8 个左右的应用分配
所以我们将业务进行组合后得到 8 个服务:
用户服务
用户服务
会员服务
商品服务
商品服务
店铺服务
购物服务
购物车服务
订单服务
支付服务
微信服务
支付宝服务
库存服务
财务服务
物流服务
结算服务
系统架构图

微服务架构选型
分析
由于后端团队只有 25 人,且都是 java 语言,不用为了多语言而考虑,我们微服务框架采用嵌入 SDK 方式
由于性能的要求可能并没有要求非常高,我们直接采用 http 方式作为服务间通讯,方便维护。
所以我们选择 SpringCloud 框架作为微服务框架。
评论