写点什么

电商系统拆分微服务

用户头像
gawaine
关注
发布于: 1 小时前

电商系统拆分微服务

一、背景

  1. 从 0 开始做个小程序电商业务

  2. 开发团队大约 30 人左右,包括 5 个前端和 25 个后端

  3. 后端开发人员全部都是 java

二、服务拆分

  1. 一共有 25 个后端,应用三个火枪手原则,可以同时开发 8 个服务

  2. 由于是创业公司开始从 0 到 1 开始做电商业务,采用业务拆分方式进行

  3. 由于是创业公司,没有业务专家且是新业务,拆分的方式采用粗分然后演进的方式



对比阿里的电商架构:



最终拆分的微服务为:


  • 用户服务

  • 商品服务

  • 订单服务

  • 支付服务

  • 购物车服务

  • 物流服务

  • 结算服务

  • 统计服务

三、微服务框架选型

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



服务接入层


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

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


服务运行层


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

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


技术支撑层


  • 容器使用 docker

  • 编排使用 k8s

  • 分布式事务使用 Seate

  • 监控工具使用 Promethus


基础设施层


  • 日志使用 ELK

  • 分布式锁使用 redisson

  • 消息队列使用 kafka

  • 缓存服务使用 redis 集群

  • 搜索服务使用 ES

  • 监控使用 CAT


架构图如下:


用户头像

gawaine

关注

还未添加个人签名 2018.08.07 加入

还未添加个人简介

评论

发布
暂无评论
电商系统拆分微服务