写点什么

架构实战营 模块六作业

  • 2022 年 7 月 10 日
  • 本文字数:651 字

    阅读完需:约 2 分钟

一、服务拆分方案

1. 拆分思路

从 0 开始搭建一个电商平台,拆分方式直接按照业务拆分微服务即可,落地方式一步到位,同时要求搭建完善的基础设施建设。

电商平台已经有非常成熟的实现方案,所以业务功能划分可以直接参考业界实现,再针对团队特点进行进一步详细划分。

根据三个火枪手原则,3 个人负责一个微服务。同时考虑到在搭建微服务系统架构时,需要同步搭建微服务基础设施,留出 4 个后端开发负责相应的工作。那么对应到后端服务方面,剩下的 21 位后端,大概可以拆分 7 个微服务。

2. 拆分结果以及业务功能示意图

根据常见的电商平台业务架构,可以有如下拆分方式:


按照业务相关性拆分,可以拆分成订单服务、库存服务、财务服务、商品服务、店铺服务、会员服务以及仓储服务共 7 个后端微服务,同时前端小组负责小程序入口以及相关展示页面的开发工作。

二、基础设施选型

  1. 所有后端开发人员都是 java 开发,可以选择基于 java 语言开发的微服务 SDK 框架,天然支持高性能高可用,无需额外维护工作,维护成本低。

  2. 微服务框架可选用主流的 Spring Cloud,比较简单易用。

  3. 使用 eureka 作为服务注册与发现中心,提供最核心最基本的微服务基础设施功能

  4. 使用 feign 和 ribbon 提供微服务之间交互以及负载均衡的能力

  5. Hystrix 提供微服务的熔断、降级能力

  6. 使用 Spring Cloud Gateway 作为 API 网关

  7. 选用 Spring Cloud Nacos 作为配置中心

其他的微服务基础设施可以考虑逐步完善并落地,比如通过实现 ELK 方案来实现日志中心,接入 promethus 实现服务监控,根据团队的技术储备以及业务特点选择合适的消息队列(RocketMQ、RabbitMQ)等等。

三、系统架构图


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

还未添加个人签名 2018.09.21 加入

还未添加个人简介

评论

发布
暂无评论
架构实战营 模块六作业_架构实战营_挖了蘑菇哩斯_InfoQ写作社区