模块六作业 - 拆分电商系统为微服务
背景
假设你现在是一个创业公司的 CTO,开发团队大约 30 人左右,包括 5 个前端和 25 个后端,后端开发人员 全部都是 Java,现在你们准备从 0 开始做一个小程序电商业务,请你设计微服务拆分的架构以及微服务 基础设施选型。
架构图
按业务拆分,拆分为以下 8 个服务
拆分方式
按业务拆分,从 0 开始构建业务系统,所以按业务拆分比较好;系统为电商系统,参考业界成熟电商系统的业务领域划分,如下图:
拆分粒度
公司一共 25 个后端,运用三个火枪手原则,每个微服务 3 个开发人员比较合理,由此可以确定拆分粒度,拆分为 8 个左右的微服务比较合理
微服务框架模式
因为后端开发人员开发语言全部是 java,采用嵌入 SDK 式比较好,天然支持高性能高可用
微服务框架
选择 Dubbo,原因是会存在跨服务的调用,需要 RPC 功能,Dubbo 支持 RPC 调用且高度可扩展
评论