写点什么

电商系统微服务拆分(架构实战营 模块六作业)

作者:Gor
  • 2022 年 7 月 10 日
  • 本文字数:574 字

    阅读完需:约 2 分钟

服务拆分

由于是创业公司从 0 开始搭建电商业务系统,因此按业务拆分微服务搭建完善的基础设施,其中微服务的落地方式为一步到位。电商业务是一个发展已久的业务,业务有很多成熟的解决方案,所以可以参考业界的实现进行业务边界的划分,并遵循三个火枪手原则确定服务的粒度。后端同学有 25 人,考虑到从 0 搭建系统,不能全部安排做业务系统的开发,因此预留 4 位同学负责架构设计及核心基础设施搭建,剩下同学平均三个开发负责一个微服务,所以最终确定微服务数量为 7 个。

参考业界实现以及电商系统需要的必要功能,微服务拆分为以下 7 个:

  • 会员服务

  • 订单服务

  • 库存服务

  • 店铺服务

  • 商品服务

  • 财务服务

  • 物流服务

基础设施选型

后端开发人员全部都是 Java,暂不考虑支持 RPC,因此微服务框架可选用主流的 Spring Cloud(属于嵌入 SDK 式)。

服务运行层

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

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

服务接入层

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

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

基础设施层

  • 选用 Apollo 配置中心。

  • 消息队列使用 rocketmq

  • 分布式锁选用 redisson。

  • 日志中心选用 ELK 方案。

技术支撑层

  • 容器及编排选用云服务商支持的 docker+k8s。

  • 分布式事务选用本地事物消息,简单容易实现。

  • 自动化部署:Jenkins。

  • 监控工具使用 Promethus+Grafana。

  • 服务跟踪选用 Skywalking,可以做到代码无侵入性。

架构图


发布于: 刚刚阅读数: 3
用户头像

Gor

关注

还未添加个人签名 2020.05.05 加入

还未添加个人简介

评论

发布
暂无评论
电商系统微服务拆分(架构实战营 模块六作业)_Gor_InfoQ写作社区