模块 6 作业
拆分电商系统为微服务
【背景】
假设你现在是一个创业公司的 CTO,开发团队大约 30 人左右,包括 5 个前端和 25 个后端,后端开发人员 全部都是 Java,现在你们准备从 0 开始做一个小程序电商业务,请你设计微服务拆分的架构以及微服务 基础设施选型。
【作业要求】
需要明确服务拆分思路,并且将拆分后的系统架构图画出来;
需要明确微服务基础设施选型思路,并选择一个微服务框架;
用 1~2 页 PPT 即可。
【提示】
需要应用三个火枪手原则;
需要选择拆分方式;
需要选择微服务框架的模式
拆分思路
从团队人数规模上分析:
java 后端总共 25 人,按照三个火枪手的原则可以分成:25/3 ~= 8 个小组,因此微服务的数量应该也控制在 8 个左右。
从电商业务角度上分析:
电商业务包括:商品、库存、订单、支付、积分、物流、会员、运营后台、评论、促销等。根据相似业务可以合并将记分和会员合并,商品和库存合并,这样就只有 8 个模块。
系统架构图
微服务框架
根据当前市面上 Java 微服务主流框架:springCloud Alibaba 系列、Dubbo 系列
两者最大区别在通讯方式上:spring 系列采用 Http 方式通讯,dubbo 采用 RPC 方式通讯,在效率上 RPC 比 Http 效率更高,但是扩展性方面不如 Http。因此综合考虑采用 SpringCould Alibaba 系列作为微服务的基础框架。
版权声明: 本文为 InfoQ 作者【miliving】的原创文章。
原文链接:【http://xie.infoq.cn/article/fe1ab28cb737505b5c11c0f5d】。文章转载请联系作者。
评论