拆分电商系统为微服务
1、业务边界划分
做业务边界拆分,对于电商业务,是一个比较成熟的方案,那么就拿业界其他公司的案例作为模板进行分析。
以交易为核心,理清业务子域:
用户域:用户账号登录/注册、用户信息管理等
商家域:企业账户,商户分级,合同及协议管理等
商品域:分类、商品信息、标签、价格管理等
营销域:打折降价活动、卡码券、预售等
订单域:订单生成、订单查询、订单生命周期管理、订单业务对账等
支付域:与第三方资金支付、个人资金账户、资金交易方式的管理等
物流域:商品的库存管理、配送管理等
售后域:退货、退款、评价管理等
结算域:交易金额,与商户、平台、第三方的结算
从交易系统来看:
核心域:订单域、支付域、营销域
支撑域:物流域、售后域、结算域
通用域:用户域、商品域、商家域
2、微服务划分
后端有 25 个开发,根据三个火枪手原则,可以分为 8-9 个服务,电商场景共有 9 个业务子域,那么就可以按照一对一的原则搭建成 9 个微服务。
3、基础设施选型
对于微服务的基础设施选型,最核心的是服务注册、服务发现、服务路由,后端都是 Java 开发,同时由于电商场景对于请求量和响应时间比较敏感,因此需要选用 RPC 框架,那么目前比较成熟且和电商业务比较贴合的就是 Dubbo,那么就可以选型 Dubbo 作为服务注册、服务发现、服务路由的选型。
其他的基础设施选型,可以到系统上线且迭代一定规模后在做处理
4、系统架构图
评论