模块 6 作业:电商系统微服务拆分
一、背景和要求
1、团队规模 30 人左右,5 个前端和 25 个后端,后端全部使用 Java 开发语言;
2、从 0 做一个小程序电商业务;
3、三个火枪手原则,确定拆分的粒度;
4、明确拆分方式,分为:业务拆分,稳定性拆分,性能拆分,可用性拆分;
5、明确选择微服务框架的模式,分为:嵌入 SDK、反向代理、网络代理;
6、需要明确微服务基础设置选型思路。
二、微服务拆分
1、拆分方式
因为电商系统的业务比较成熟和稳定了,可以参照主流的电商平台,使用按照业务拆分的方式进行拆分。
2、框架选择
后端开发人员全部都是采用的 Java 语言,并且是从 0 开始做一个小程序电商业务,可以预见的范围内规模不会很大,所以微服务框架模式的选择为嵌入 SDK 方式的 Spring Cloud 或者 Dubbo 框架,嵌入 SDK 对于系统应用侵入方面的影响可以接受。
3、拆分粒度
根据三个火枪手原则,25 个后端开发,可以拆分成 8 个左右的微服务,参照主流的电商平台的业务系统:商品、店铺、订单、物流、仓储、支付、客服、会员。
因为是从 0 开始搭建一个微服务的电商小程序系统,服务拆分落地的方式就采用一步到位的方式,搭建完善的基础设施,按照微服务基础设施优先级逐步落地。
4、微服务基础设施选型思路
按照微服务基础设施选型优先级的顺序,优先安排优先级 1/2/3 部分的基础设施开发,优先完成业务功能的开发落地,后期再优化处理技术支撑层的基础设施的开发。
评论