Bootstrap

电商系统拆分微服务

电商系统拆分微服务

一、背景

二、服务拆分

对比阿里的电商架构:

最终拆分的微服务为:

  • 用户服务

  • 商品服务

  • 订单服务

  • 支付服务

  • 购物车服务

  • 物流服务

  • 结算服务

  • 统计服务

三、微服务框架选型

后端团队目前技术栈统一为JAVA,前期的服务规模不会特别大,框架选择使用嵌入SDK的方式。

服务接入层

  • 使用Spring Cloud Gateway作为服务网关

  • 使用Hystrix实现服务容错,以及限流、熔断等

服务运行层

  • 使用Eureka实现服务注册和服务发现

  • Feign和Ribbon做远程服务调用和服务路由以及负载均衡

技术支撑层

  • 容器使用docker

  • 编排使用k8s

  • 分布式事务使用Seate

  • 监控工具使用Promethus

基础设施层

  • 日志使用ELK

  • 分布式锁使用redisson

  • 消息队列使用kafka

  • 缓存服务使用redis集群

  • 搜索服务使用ES

  • 监控使用CAT

架构图如下: