写点什么

作业:架构实战营模块 6

作者:Poplar89
  • 2022 年 1 月 30 日
  • 本文字数:802 字

    阅读完需:约 3 分钟

需求

假设你现在是一个创业公司的 CTO,开发团队大约 30 人左右,包括 5 个前端和 25 个后端,后端开发人员

全部都是 Java,现在你们准备从 0 开始做一个小程序电商业务,请你设计微服务拆分的架构以及微服务

基础设施选型。

作业要求

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

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

  3. 用 1~2 页 PPT 即可。

需要应用

  1. 三个火枪手原则;

  2. 需要选择拆分方式;

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

作业

需求分析

根据需求内容,从 0 到 1 的小程序电商平台,必须的业务模块包括商品、订单、搜索、支付。还包括了后台管理系统(根据可能包括商家、运营两部分)。

微服务拆分方式

根据业务分析、以及业界电商的成熟方案,前期拆分无需过细,仅满足当前业务发展及需求即可。前期质量差异化并不凸显,则按照业务进行拆分即可。

可以划分为:用户、商品、库存、订单、搜索、支付、后台管理系统。

技术选型

微服务框架

考虑到后端开发语言主要为 Java,因此后端框架主要在 Spring Cloud 和 Dubbo 中选择。

基础设施

考虑到为新发展业务,必须的基础设施主要是:服务注册发现、路由。其他基础设施都可以随着业务发展逐渐搭建。

后端服务注册发现、路由可以采用业界常用的开源方案,例如 nacos,可以很容易和 dubbo 进行整合。

前后端接口路由,主要采用 nginx 进行负载均衡。


人员分配

前端人员分配:用户、商品、库存、订单、搜索、支付模块根据实际工作量分配,这里没有实现三个火枪手原则的主要原因是:

  1. 前端需求并不会很旺盛,且一般都会按照发布计划进行版本发布

  2. 基本很少有紧急需求情况出现,时间相对可控

  3. 技术栈相对统一,前端业务逻辑、代码量不会很庞大,即使负责同学不在,也可以由其他同学进行处理。


后端人员分配,需要参考火枪手原则,前期业务发展模式还未成型,采用一对一即可:

  1. 后端服务六个模块分别由 3 位负责,共 18 位。

  2. 基础设施由 7 位同学负责,可以分配到服务注册发现、路由、负载均衡三个模块。

最终架构方案为:


用户头像

Poplar89

关注

还未添加个人签名 2018.12.07 加入

还未添加个人简介

评论

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