模块六作业
一、作业
拆分电商系统为微服务
【背景】
假设你现在是一个创业公司的 CTO,开发团队大约 30 人左右,包括 5 个前端和 25 个后端,后端开发人员全部都是 Java,现在你们准备从 0 开始做一个小程序电商业务,请你设计微服务拆分的架构以及微服务基础设施选型。
【作业要求】
1. 需要明确服务拆分思路,并且将拆分后的系统架构图画出来;
2. 需要明确微服务基础设施选型思路,并选择一个微服务框架;
3.用 1~2 页 PPT 即可;
【提示】
1. 需要应用三个火枪手原则;
2. 需要选择拆分方式;
3. 需要选择微服务框架的模式。
二、微服务拆分
1.拆分方式:这是一个从 0 开始的业务,考虑"按业务拆分微服务"。
2.基础设施要求:搭建完善基础设施,按照微服务基础设施优先级逐步落地。
3.服务拆分落地方式:这是创业团队,如果有该领域的业务专家,就按业务专家的意见划分服务边界;如果没有业务专家,小程序电商是个常见的业务,参考业界实现拆分。
4.参考业界:电商业务中台包括订单中心、会员中心、库存中心、店铺中心、商品中心、财务中心 6 个业务。
5.根据三个火枪手原则,25 个后端人员最多可以维护 8 个微服务,一对一的方式比较合适,上述每个模块拆分为一个微服务。
三、微服务基础设施选型
1.基础设施逐步落地:因为创业团队,按照微服务基础设施优先级逐步落地,第一期只选择搭建核心基础设施,重点考虑服务运行层,包括服务注册、服务发现、服务路由、服务容错等。
2.微服务框架模式:团队技术栈统一,都为 JAVA,选择嵌入式 SDK 模式。 Spring Cloud 功能全面,有成熟的组件能够支持,可以选择 SpringCloud 作为微服务框架。其中:服务注册与发现(Eureka)、服务路由(Zuul)、服务容错(Hystrix)等。
四、简要系统架构图
版权声明: 本文为 InfoQ 作者【袁小芬】的原创文章。
原文链接:【http://xie.infoq.cn/article/d4cb543c0a9c4edbf2facfb71】。未经作者许可,禁止转载。
评论