写点什么

架构训练营 week6 作业

作者:红莲疾风
  • 2022 年 1 月 21 日
  • 本文字数:760 字

    阅读完需:约 2 分钟

【背景】

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

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

基础设施选型。


分析:

  1. 后端语言全部是 java,那么在微服务框架的模式里,就确定选择嵌入式。

  2. 从 0 开始做一个业务,那么拆分的思路就可以选择按业务进行拆分,并且一步到位;基础设施可以搭建完善的基础设施,并且按照优先级逐步落地;

  3. 电商业务的模块主要有 6 个:商城、商品、库存、订单、财务、用户。为了便于管理,再加上一个管理后台的服务。

  4. 人员分配方面,按照三个火枪手的原则,一个微服务分配 3 个人,那么上述的六大模块加上后台管理模块,一共 7 个模块,共需 21 个后端,剩余 4 人共同搭建微服务的基础设施。而 5 个前端的分配可以是:3 人负责电商商城的前端(小程序)开发(包括商城界面、商品搜索、商品详情、购物车、订单、个人中心等),2 人负责管理后台页面(Web)的开发

  5. 基础设施方面,由于是创业公司,就不要自己重新造轮子搭建所有的基础设施了,上阿里云可以搞定服务接入层、技术支撑层的大部分设施。

  6. 服务网关用阿里的 SLB,服务流控和服务降级用开源的 Sentinel 来搞定

  7. 容器编排和自动化部署可以用阿里云的 k8s,服务监控有阿里云自带的监控,服务跟踪可以用自己搭建的 skywalking。

  8. 服务运行层里的内容需要自己搭建:包括服务注册、服务发现、服务路由可以用 nacos 来做,而服务的调用,则可以用 springcloud 的 open Feign 或者 dubbo,个人觉得 open Feign 可能用起来更简单,虽然是 http 协议的,更上层,但是一开始的用户规模,这个应该不会有性能问题

  9. 配置中心可以用 nacos,日志中心可以用阿里云的 SLS,分布式锁用 redis 来实现,消息队列也可以用阿里云的 RocketMq,它还支持多种消息队列模式,包括事务消息、顺序消费等。

  10. 基础设施架构图

  1. 整体架构图


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

红莲疾风

关注

还未添加个人签名 2021.07.28 加入

还未添加个人简介

评论

发布
暂无评论
架构训练营 week6 作业