拆分电商系统为微服务
![拆分电商系统为微服务](https://static001.geekbang.org/infoq/ba/ba6b867beda26b28d2fc58753cc572cc.jpeg)
![](https://static001.geekbang.org/infoq/bd/bd8fed463650a729375d7c2cc3542ada.png)
小程序电商系统架构图
1、服务拆分
结论
如系统架构图,其中业务层主要分了 10 个域,8 个服务(同一颜色的域放在同一个微服务中)。
拆分原则
电商系统业界已有成熟案例,所以参照业界实现。按照业务拆分,且因为前端不需要参与所有域的开发,所以主要按照后端开发人员数量,遵循三个火枪手原则(25/3=8),拆分为 8 个微服务(多对一)。
实施细节
根据各个服务业务重要程度及复杂度分配不同能力的人员。比如商品、订单、库存、支付是电商系统最重要的部分,且初期这些模块工作量较大,可以分配能力较强的人员;店铺、售后等模块初期只需要建立基础能力,后期逐渐完善,可以分配能力相对较弱的人员。
2、基础设施选型
结论
如系统架构图,基础设施包括基础设施服务(IaaS)、基础服务(PaaS)、接入层;
基础服务(PaaS)层主要包括:远程调用、分布式数据库、分布式缓存、分布式消息、配置中心、实时监控等;其中,微服务框架选择 Dubbo。
微服务框架选择理由
微服务框架选择 Dubbo 的理由是:该团队后端开发人员都是同一语言 java,可选择嵌入式 SDK 模式,而 Apache Dubbo 是一款高性能、轻量级的开源 Java 服务框架。
评论