电商平台架构设计与微服务部署

电商业务模型分析

电商业务是一个涵盖广泛、交互复杂的系统,涉及用户浏览商品、下单购物、支付、订单处理、物流配送等多个环节。从业务的角度进行拆解可以更好地理解和组织各个方面的功能。

以下是对电商业务场景、业务模型和工作链路的拆解。

买家视角

电商系统的本质是促进商品和服务的在线买卖,面向买家用户的工作流是电商系统的核心
在这里插入图片描述

卖家视角

从商家的视角,电商系统的一般工作流程涉及商品管理、订单处理、售后服务等多个环节:
在这里插入图片描述

平台视角

除了面向用户、商家的工作流以外,平台还需要提供更多的功能模块来支撑电商系统的运作,包括:系统管理后台、支付网关集成、安全域风控、推荐引擎、物流管理、社交媒体集成等。

面向商家的业务运营系统

在这里插入图片描述

平台提供的更多功能模块

Open image-20240429-071132.png
image-20240429-071132.png

电商系统全流程

那么一个完整的自营电商业务是怎么样的?将一件商品交付给消费者需要经历哪些环节呢。

在这里插入图片描述

  • 供应商处采购产品
  • 采购产品入仓存储管理
  • 商品上架到电商平台销售
  • 根据销售订单进行履约配送

我们将整个系统流程按采销仓配的业务边界进行划分,再结合C端购买流程,就能得到一张完整的大型电商系统流程图

在这里插入图片描述

这个流程图涵盖了电商系统从前端用户交互到后端供应链管理的各个环节,展示了一个完整的电商交易周期。

  • 入驻卖家:卖家在平台上开店,需要缴纳保证金并开通钱包账户。
  • 商品中心:卖家发布商品信息,包括商品的品类、类型、类目等。
  • 采购采销:供应商或商家进行商品采购,采购和销售的流程。
  • 库存中心:管理商品的库存,包括库存预占和库存管理。
  • 价格中心:涉及商品的定价策略。
  • 促销活动:负责营销活动的策划和执行,搭建促销活动页,进行促销计算。
  • CMS(内容管理系统):用于管理电商网站的内容。
  • 用户注册:消费者在电商平台上注册账户。
  • 搜索:用户在平台上搜索商品。
  • 商品列表:展示搜索结果,列出商品。
  • 商品详情:用户点击查看特定商品的详细信息。
  • 加购物车:用户选择商品后,将其加入购物车。
  • 提单:用户提交购物车内的商品进行购买。
  • 订单中心:包括校验库存、价格、库存、用户信息、促销信息等,订单由订单中心负责创建生成。
  • 结算中心:处理订单的结算
  • 收银台:消费者进行结账操作,选择支付方式。
  • 支付-对账:消费者支付订单,系统进行支付对账。
  • 履约中心:处理订单的履约,包括拆分、转移、定仓寻源等。
  • 配送中心:订单履约后,进行发货至仓库、仓储管理、配送等。
  • POP订单:平台开放型订单,由入驻商家处理,POP模式(Platform Open Plan):第三方店铺模式。
  • 自营订单:由电商平台自身运营的订单。
  • 履约控制:确保订单能够按照约定的条件执行。
  • 生产:如果涉及到自制商品,还需要进行生产管理。
  • 仓储管理:包括商品的入库、出库、库存管理等。
  • 配送管理:订单履约后的配送流程,包括获取运单、配送、异常拉回等。
  • 结束:订单完成,包括妥投确认等。

电商产品架构

我们通过电商业务流程得到了系统流程,有了系统流程就得到了电商系统的基本功能模块,我们基于上面梳理出来的基础功能模块,再从系统全局的角度进行扩展和做更细粒度的拆分,将最终拆分出的功能模块按照架构图的逻辑进行组织,就得到了一下产品架构图。

在这里插入图片描述

  • 用户端系统(TOC):主要负责用户选购商品的需求,核心系统包括注册/登录、黄金流程和个人中心等;用户端系统属于前台系统,在产品设计上更注重用户体验、数据分析等。
  • 运营系统(TOB):主要承载了内部运营的能力,核心系统包括用户管理、商品管理、价格管理、店铺管理以及营销管理等。
  • 交易履约系统:交易履约系统是一个中枢系统,向上承载订单交易,向下控制生产履约,核心系统有订单中心和寻源履约中心,属于电商系统中比较黑盒的部分,界面较少,更多的是底层逻辑。
  • 供应链与生产系统:供应链系统即进销存系统,在很多企业中统称ERP,主要负责商品的采购、库存的管理等、仓储管理(WMS)以及运输管理(TMS)。
  • 基础平台:基础平台是业务系统之外的系统,主要包括员工账号管理、主数据、财务系统、商家管理系统、以及服务市场和开放平台等。
  • BI系统:平行于电商的其他系统,采集各个系统产生的数据,加工处理后反哺其他系统,提供各类数据分析能力

基于微服务架构的电商平台设计与实现

基于微服务架构的电商平台设计可以提高平台的可扩展性、可维护性和可靠性,为平台创造更好的用户体验。
本节将探讨电商平台设计中微服务架构的应用,从服务拆分、服务发现、服务注册、容器化部署、服务治理等方面进行分析和探讨。

服务拆分

服务拆分是电商平台设计的一项重要步骤。一般而言,服务拆分可以按照业务领域划分,从而实现业务服务的逻辑隔离。例如,一个电商平台包含了商品管理、订单管理、物流管理、支付管理等多个核心功能。我们可以根据业务领域划分服务,如商品服务、订单服务、物流服务、支付服务等,这样就可以实现服务逻辑的隔离,减轻服务之间的耦合性,提高系统的可维护性和可管理性。

微服务拆分,可以根据团队量来决定。一般来说,一个微服务,应该有3个人来维护。如果团队有12个人,建议将系统拆分成4个微服务。总的来说,服务拆分,应根据公司投入的人力成本。人力成本越多,服务拆分可足够细致。微服务架构设计时,要足够灵活、保证其可扩展性。

服务拆分策略

服务拆分策略是将应用程序拆分成多个服务的方法。常见的拆分策略有基于功能、基于数据和基于团队等。

  • 基于功能的拆分策略:应用程序拆分成具有相同功能的服务。例如,一个电商应用程序可以将功能拆分为订单服务、商品服务和用户服务等。

  • 基于数据的拆分策略:将应用程序拆分成具有相同数据的服务。例如,一个电商应用程序可以将数据拆分为订单数据、商品数据和用户数据等。

  • 基于团队的拆分策略:将应用程序拆分成具有相同团队的服务。例如,一个电商应用程序可以将团队拆分为订单团队、商品团队和用户团队等。

电商技术架构

在这里插入图片描述

架构层级划分

  • 流量接入层:使用Nginx负责流量的接入和初步处理。
  • 流量分发层:API Gateway:API网关,统一管理外部请求,负责流量的分发,区分出TOB和TOC流量
  • 聚合服务层:聚合不同服务,提供统一的接口。BFF:Backend For Frontend,为前端提供定制化后端服务。service:TOB的具体的服务组件,实现TOB的业务逻辑。
  • 基础服务层:提供基础服务,如用户服务、商品服务一些基础服务等。
  • 基础设施层:电商系统运行所需的基础设施,比如MySQL、Redis、PostgreSQL、ES、MQ等

服务层级划分

  • BFF层:BFF对外(TOC)提供HTTP接口,客户端只与BFF进行交互,在BFF层做数据聚合,缓存,并发等业务逻辑
  • 用户服务(user):负责处理用户的注册、登录、订单等操作;。
  • 商品服务(product):负责处理商品的信息、库存、价格等操作;
  • 搜索服务(search):复制处理电商系统的搜索处理
  • 促销服务(promotion):制定促销规则,计算促销优惠。
  • 价格服务(price):维护商品的库存数量和库存信息。
  • 购物车服务(cart):购物车的增删改查;
  • 库存服务(stock):维护商品的库存数量和库存信息。
  • 订单服务(order):负责处理订单的创建、支付、发货、收货等操作。
  • 支付服务(pay):—通过调用第三方支付实现支付功能
  • 评价服务(reply):负责处理用户对商品和卖家的评价和反馈。
  • 推荐服务(recommend):负责根据用户的购买历史和行为进行商品推荐。
  • 报表服务(BI):实现统计和分析功能,生成报表,给老板来做经营分析和决策使用。
  • 物流服务(logistics):物流网络进行管理和调度,包括订单的跟踪、物流费用的计算、物流事件的处理等

文档参考

参考

  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CoLiuRs

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值