电商系统拆分微服务
电商系统拆分微服务
一、背景
- 从 0 开始做个小程序电商业务 
- 开发团队大约 30 人左右,包括 5 个前端和 25 个后端 
- 后端开发人员全部都是 java 
二、服务拆分
- 一共有 25 个后端,应用三个火枪手原则,可以同时开发 8 个服务 
- 由于是创业公司开始从 0 到 1 开始做电商业务,采用业务拆分方式进行 
- 由于是创业公司,没有业务专家且是新业务,拆分的方式采用粗分然后演进的方式 
 
 对比阿里的电商架构:
 
 最终拆分的微服务为:
- 用户服务 
- 商品服务 
- 订单服务 
- 支付服务 
- 购物车服务 
- 物流服务 
- 结算服务 
- 统计服务 
三、微服务框架选型
后端团队目前技术栈统一为 JAVA,前期的服务规模不会特别大,框架选择使用嵌入 SDK 的方式。
 
 服务接入层
- 使用 Spring Cloud Gateway 作为服务网关 
- 使用 Hystrix 实现服务容错,以及限流、熔断等 
服务运行层
- 使用 Eureka 实现服务注册和服务发现 
- Feign 和 Ribbon 做远程服务调用和服务路由以及负载均衡 
技术支撑层
- 容器使用 docker 
- 编排使用 k8s 
- 分布式事务使用 Seate 
- 监控工具使用 Promethus 
基础设施层
- 日志使用 ELK 
- 分布式锁使用 redisson 
- 消息队列使用 kafka 
- 缓存服务使用 redis 集群 
- 搜索服务使用 ES 
- 监控使用 CAT 
架构图如下:
 
 











 
    
评论