写点什么

架构实战营 - 模块 6- 作业

发布于: 14 分钟前

背景概述

从 0 开始做一个小程序电商业务,需要进行微服务拆分设计及微服务基础设施选型。

需参考的关键因素如下:

  1. 创业小团队,团队构成为 5 名前端和 25 名后端

  2. 后端开发人员全部都是 Java

服务划分分析

整体思路

拆分思路分析如下:

  1. 一般创业团队每个人都身兼数职,基本上不会有专门的业务专家

  2. 电商业务并非全新的创新业务,业界已经有很多成熟的案例可以参考

  3. 从 0 开始实现,没有历史数据参考,因此主要按照业务领域拆分

因此,拆分整体思路为:参考业界成熟案例+结合团队规模进行合并调整+按业务领域拆分。

按照“三个火枪手”原则,后端服务数量为 8 个左右较为合适。

服务划分详情

参考业界成熟方案,整理业务领域如下:



基于上述业务领域划分及整体划分思路,拟定服务划分如下:

上述服务划分附加说明如下:

  1. 创业公司从 0 开始,仓储物流领域业务体量及流程不会太复杂,因此将相关的业务合并成一个服务。

  2. 会员和商品服务为基础业务,预估对性能及可用性要求会比较高,因此划分为单独的服务,便于伸缩扩展

  3. 内容管理、风控、促销业务稳定性较低,预计修改演进的频率会高于其他服务,因此可以考虑多投入 1 名后端开发人员(即 4 人)进行开发和维护

基础设施选型

在微服务基础设施选型方面,考虑的要点如下:

  1. 团队后端成员都是 Java 开发工程师,技术栈统一,因此选择基于嵌入式 SDK 的微服务框架

  2. 创业公司从 0 开始,系统整体对性能要求不会太高,因此不需要基于自定义协议的 RPC 框架,使用 RESTFul API 进行服务间通信即可。

基于上述考虑,选择 Spring Cloud 作为微服务基础设施。

参考链接

赢在后台:教你搭建电商后台的产品架构

以淘宝为例,解析大型电商服务端架构

用户头像

还未添加个人签名 2017.12.17 加入

还未添加个人简介

评论

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