【架构师训练营】电商业务微服务拆分设计
背景
创业公司的 CTO,开发团队大约 30 人左右,包括 5 个前端和 25 个后端,后端开发人员全部都是 Java,现在你们准备从 0 开始做一个小程序电商业务,请你设计微服务拆分的架构以及微服务基础设施选型。
微服务选型
约束条件
开发语言 JAVA
小程序电商业务,规模不大
备选方案
Spring Cloud
Spring Cloud Alibaba
由于 CTO 对 Dubbo 非常熟悉,因此选择 Spring Cloud Alibaba 为微服务基础设施开发框架。
选型思路
基础设施层
配置中心 - Alibaba Nacos
消息队列 - RocketMQ
分布式锁 - Redis
日志中心 - ELK
服务运行层
服务注册 - Alibaba Nacos
服务发现 - Alibaba Nacos
服务路由 - Alibaba Nacos
服务容错 - Alibaba Sentinel
服务接入层
服务网关 - Spring Cloud Gateway
服务流控 - Alibaba Sentinel
服务降级 - Alibaba Sentinel
服务拆分
根据三个火枪手的规则,团队内 25 个后端,最多分为 7 个微服务,余下几人负责基础功能的开发。
由于目前是创业公司,需要从 0 到 1 完成系统开发,因此拆分方式适合使用按业务拆分的方法,一步到位。
拆分后的微服务如下:
商品服务
订单服务
库存服务
物流服务
内容运营服务(也可以认为是店铺服务)
会员服务
资金结算服务
架构图
版权声明: 本文为 InfoQ 作者【eoeoeo】的原创文章。
原文链接:【http://xie.infoq.cn/article/0f298cc47f5a64dde590aed79】。文章转载请联系作者。
评论