拆分电商系统为微服务
一、背景:
假设你现在是一个创业公司的 CTO,开发团队大约 30 人左右,包括 5 个前端和 25 个后端,后端开发人员全部都是 Java,现在你们准备从 0 开始做一个小程序电商业务,请你设计微服务拆分的架构以及微服务基础设施选型。
二、架构设计
1.总体拆分思路:
由于是创业公司并且从 0 开始搭建,所以按照业务拆分微服务,搭建核心基础设施,逐步落地的方式拆分微服务。
2.微服务:
2.1 拆分参考三个火枪手原则拆分为 8 个微服务:
营销、会员、交易、订单、仓储、物流、商品、基础服务。
其中营销中心变动频繁需求较多设立 4 人的小组,其他小组为 3 人。
2.2 团队设立:
2.2.1 后端根据 6 人团队原则设立 4 个部门:
会员部:营销、会员,
订单部:交易、订单
物流部:仓储、物流,
基础服务部:商品,基础服务。
2.2.2 前端 5 个人不需要再分部门了只能按照一对多原则以及双岗制原则:
2 人负责会员部和订单部,3 人负责物流部,基础服务部(会有一些后代管理系统)。
3.核心基础设施:由于新的业务所以搭建核心基础设施,逐步落地的方式拆分微服务。
开发框架:spring boot,可以直接采用 spring cloud 推荐的网关、限流、降级、熔断、事务管理、服务注册中心、配置中心等组件
数据库:mysql
缓存:redis
消息队列:kafka
复杂均衡:Nginx
日志监控:elk
容器部署:docker
4.整体架构图:
评论