写点什么

架构实战营模块六作业

作者:spark99
  • 2021 年 12 月 12 日
  • 本文字数:621 字

    阅读完需:约 2 分钟

【背景】

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


【作业要求】

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

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

  3. 用 1~2 页 PPT 即可。

一、微服务拆分思路

因为是从 0 搭建一个小程序电商系统,可以按业务来拆分微服务。团队有 25 个后端,针对电商领域的业务,基于 3 个火枪手原则,可拆分 8 个微服务,具体如下:

二、基础设施选型

作为创业团队,需要以较低成本快速搭建起这个小程序电商系统。根据这个大背景,我们需要划分好基础实施搭建的优先级,并选定微服务框架。

2.1 基础设施优先级

按照以下次序搭建基础设施:

  1. 服务运行层:服务注册、服务发现、服务路由、服务容错

  2. 服务接入层:服务网关、服务流控、服务降级

  3. 基础设施层:配置中心、全局锁、分布式消息、日志中心

  4. 服务支撑层:接口框架、分布式事务、自动化测试/部署、容器编排、灰度发布、服务监控、服务跟踪

其中服务支撑层可在后续迭代过程中再逐步完善。

2.2 微服务框架

由于后端开发人员全部都是 Java,没有多语言的需求,为了快速试错和迭代,可以使用 spring boot + spring cloud 来搭建基础设施。使用的微服务组件主要包括:Nacos、Feign、Hystrix、Zuul、Spring Cloud config、Spring Cloud Sleuth、RocketMQ。

三、系统架构图

3.1 整体架构图
3.2 微服务交互示意图


发布于: 1 小时前阅读数: 4
用户头像

spark99

关注

还未添加个人签名 2020.10.07 加入

还未添加个人简介

评论

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