写点什么

架构实战营第 4 期 -- 模块六作业

  • 2022 年 1 月 09 日
  • 本文字数:649 字

    阅读完需:约 2 分钟

作业

拆分电商系统为微服务

【背景】

假设你现在是一个创业公司的 CTO,开发团队大约 30 人左右,包括 5 个前端和 25 个后端,后端开发人员全部都是 Java,现在你们准备从 0 开始做一个小程序电商业务,请你设计微服务拆分的架构以及微服务基础设施选型。

【作业要求】

  1. 需要明确服务拆分思路,并且将拆分后的系统架构图画出来;

  2. 需要明确微服务基础设施选型思路,并选择一个微服务框架;

  3. 用 1~2 页 PPT 即可。

【提示】

  1. 需要应用三个火枪手原则;

  2. 需要选择拆分方式;

  3. 需要选择微服务框架的模式。

电商系统微服务拆分

微服务拆分

  1. 依据第 4 课的微服务架构拆分思路,由于是从 0 开始做小程序电商业务,所以选择按业务拆分微服务,服务拆分落地方式选择一步到位,按照微服务基础设施优先级逐步落地完善基础设施。

  2. 按照三个火枪手原则,每三个人开发一个微服务。有 25 个后端开发,所以拆分出 8 个微服务,具体为:订单服务、会员服务、库存服务、店铺服务、商品服务、财务服务、物流服务、促销服务

微服务基础设施选型

后端开发人员全部都是 Java,不考虑多语言,且不考虑 RPC,又考虑到国内互联网环境,所以开源微服务框架选择 Spring Cloud Alibaba

按照微服务基础设施优先级,选型如下:

  1. 服务注册、服务发现、配置中心:Nacos

  2. 服务路由、服务网关:Spring Cloud Gateway

  3. 服务容错、服务流控、服务降级:Sentinel

  4. 服务安全:Spring Security

  5. 日志中心:ELK

  6. 分布式锁:Redis

  7. 消息队列:RocketMQ

  8. 分布式事务:Seata

  9. 容器编排:k8s + Docker

  10. 自动化测试、自动化部署、灰度发布:Jenkins

  11. 服务监控、服务跟踪:Skywalking

用户头像

还未添加个人签名 2020.03.04 加入

还未添加个人简介

评论

发布
暂无评论
架构实战营第 4 期 -- 模块六作业