架构实战营 - 模块 6- 作业
背景概述
从 0 开始做一个小程序电商业务,需要进行微服务拆分设计及微服务基础设施选型。
需参考的关键因素如下:
创业小团队,团队构成为 5 名前端和 25 名后端
后端开发人员全部都是 Java
服务划分分析
整体思路
拆分思路分析如下:
一般创业团队每个人都身兼数职,基本上不会有专门的业务专家
电商业务并非全新的创新业务,业界已经有很多成熟的案例可以参考
从 0 开始实现,没有历史数据参考,因此主要按照业务领域拆分
因此,拆分整体思路为:参考业界成熟案例+结合团队规模进行合并调整+按业务领域拆分。
按照“三个火枪手”原则,后端服务数量为 8 个左右较为合适。
服务划分详情
参考业界成熟方案,整理业务领域如下:
基于上述业务领域划分及整体划分思路,拟定服务划分如下:
上述服务划分附加说明如下:
创业公司从 0 开始,仓储物流领域业务体量及流程不会太复杂,因此将相关的业务合并成一个服务。
会员和商品服务为基础业务,预估对性能及可用性要求会比较高,因此划分为单独的服务,便于伸缩扩展
内容管理、风控、促销业务稳定性较低,预计修改演进的频率会高于其他服务,因此可以考虑多投入 1 名后端开发人员(即 4 人)进行开发和维护
基础设施选型
在微服务基础设施选型方面,考虑的要点如下:
团队后端成员都是 Java 开发工程师,技术栈统一,因此选择基于嵌入式 SDK 的微服务框架
创业公司从 0 开始,系统整体对性能要求不会太高,因此不需要基于自定义协议的 RPC 框架,使用 RESTFul API 进行服务间通信即可。
基于上述考虑,选择 Spring Cloud 作为微服务基础设施。
评论