电商系统微服务拆分
背景
假设你现在是一个创业公司的 CTO,开发团队大约 30 人左右,包括 5 个前端和 25 个后端,后端开发人员 全部都是 Java,现在你们准备从 0 开始做一个小程序电商业务,请你设计微服务拆分的架构以及微服务 基础设施选型
拆分方式:“业务”OR“质量”?
这里我们从 0 开始构建业务系统,选择按业务拆分微服务。
如何按业务拆分微服务?
假设我们不存中业务专家,但是基于小程序的电商平台也不是一个全新业务,我们可以参考业界的实现,比如京东。京东网上找到的领域划分如下:
这里假设我们后端团队需要实现:用户、支付、财务、客服、交易、订单、履约、供应链、商品、促销、库存共 11 个领域的服务。
我们如何拆分服务?
拆分技巧:
三个火枪手原则:
我们的方案:
由于我们只有 25 个后端开发,按三个火枪手原则可以支撑 8 个微服务的维护。
因此我们将用户、支付、财务、客服、交易、订单、履约、供应链、商品、促销、库存共 11 个领域的服务合并为用户、支付、财务、客服、交易(交易、订单、履约)、供应链、商品(商品、库存)、促销共 8 个微服务。
我们的微服务基础设施怎么搭建?
不存在多语言问题,也不考虑 RPC,选择 SpringCloud 生态体系即可。
版权声明: 本文为 InfoQ 作者【Sky】的原创文章。
原文链接:【http://xie.infoq.cn/article/b9b0936bdd0508031d96ca341】。未经作者许可,禁止转载。
评论