电商平台业务及架构演变史

不少人认为电商系统很简单,因为现在做电商的太多了,看到的电商产品也多。看来看去产品都差不多,没什么特别。

其实中国电商发展已有20多年历史,电商以销售为核心连接着研、产、供、销、服整套的信息系统体系。其中的设计并没有那么简单。

电商产品架构

电商产品相关基本系统模块,随着业务发展,每个系统单元都不断迭代,成熟过程要花费大量人力物力。

订单业务

电商产品中的活动都围绕着订单进行,用户下单流程可以看出所有系统之间的交互。不同公司的业务、团队这个过程中的工作分配各不相同。这里为大家分享得是通用的订单业务流程。

库存管理

订单中的商品是电商产品中必不可少的元素,补充并维护库存的平衡对于后台电商来说,十分重要。

业务框架及模块关系

系统架构图和2个主流程对电商系统的全链路打下了基础,下面我们了解一下电商系统各模块之间的关系。

  1. 大前台

  • 各销售前端

公司往往有多个销售渠道,线下不同类型的加盟店、直营店,线上也有不同模式,渠道用于让用户接触到商品。

例如淘宝系统下有天猫超市、普通商家端、淘宝直播、天猫APP等等。

  • CMS

除了商品页面,网站、APP还有“店铺的首页、维修退换政策、活动等”其它内容页面,这需要用内容管理系统进行管理,

例如QQ空间装修就可以理解为cms系统。

  • 交易中心

交易中心是技术的中间件,所有和销售前端交互的系统都要通过交易中心完成,还要承担一些用户交易流程当中的逻辑。

举如下单前要先调用库存服务,查询库存,用户加入购物车后,调用营销中台计算购物车内商品活动后的总价等。

  1. 大中台

  • 商品中心

商品中心就是一个商品的数据库,所有业务系统都用。

主要包含三层关系:

1类目:产品的类目分前台类目和后台类目,在不同渠道支持自定义。

2 spu和sku的关联

3属性:属性可以绑定在类目下,也可以绑定在spu下或者sku下,子继承父的商品属性,

  • 营销中台

营销中台主要包含两大块:

1活动

2优惠券码:针对不同用户、产品、渠道进行优惠活动设置

用户看到优惠活动一般在购物车中呈现,优惠券码一般在结算时扣除相应的金额。

  • 库存服务

库存一般分为三级:

渠道当前可售库存

产品可售库存

仓库实际库存

解决的核心问题是用户从下单开始到最终扣除仓库库存,在不同环节应该如何去扣减,达到最高的库存使用效率。

  • WPS

WPS解决的核心问题是商品应该如何调度。

订单接收之后,应该由哪个仓库来进行满足,用户在商城界面看到是否有货,应该如何判断。

  • Express

Express解决的问题是当商品的发货任务已经分到了具体的仓库,应该用哪一家快递才能兼顾成本和速度。

不同地区的仓库,快递公司的服务响应、成本是不一样的。

核心逻辑是对于不同的仓库,在路线的配置上选取不同的快递公司。

  • 会员中心

会员中心是对不同渠道提取出共性的用户设计升级规则,或者是付费型会员。

  • 发票中心

业务发展到全球化才会诞生发票中心。因为不同的国家才会对于开票的规范有不同的要求。

核心流程一个是开票,另一个是冲红。不同的业务下,对于开票和冲红的时间点会不同,这一般由订单中心进行定义。

  • 客服服务

客服系统的搭建分为三大块:

1线聊天客服:用户发起的聊天分配给系统后台的人工坐席。

2智能知识库:将用户所有的常见问题汇总到知识库,给用户自动推荐,减少人工客服的压力。

3客服系统操作台:客服可以帮助用户人工的干扰一些订单的进程,如修改价格建立退换单等等。

  • 秒杀

秒杀已经成为各个中大型电商的基本服务,核心逻辑是在于多极缓存,逐级筛选用户。

  • 风控

风控应用场景很多。

例如下单场景:判断出一个高风险的订单,订单将会被系统拒绝,会从两个方面去判断,一个用户历史行为,一个用户当前的下单风险。

  • 结算

包含三个步骤

  • 对账

  • 清分

  • 结算

将从第三方支付获取的货款进行自动结算,告知财务一个结果,从而打到供应商的账户当中,一般会和集团的OA审批流进行结合。

  • 数据中心

所有系统数据会共享给数据中心然后基于数据去进行各种场景的应用。

最常见的是用户画像平台,通过用户画像筛选出用户的偏好进行精准营销。

  • 订单中心

所有渠道的订单都汇聚到订单中心进行统一处理。

如天猫店,淘宝店,抖音店,快手店、自营电商平台,用户提交的订单都会汇聚到订单中心,进行下一步的流转和操作。

财务结算也以订单中心订单状态为标准,保障所有系统上下游数据保证通用数据源。

  1. 大后台

  • WMS

和仓库相关的业务流程都在wms管理,包含业务流程有:

  • 出库

  • 入库

  • 上架

出库类型有很多种,如电商订单是购买出库,仓库接收到出货单后打印分拣单,仓库员工根据分拣单对于货物进行拣货、打包操作,最后将打包完毕的商品放在出库区等待承运商拉走。

  • XMS

XMS 是售后管理系统,售后类型有三种退换修,退换修需要不同的备件库,更换零件或直接更换整机。

退货需要在XMS中判定用户发回货是否满足退货条件, XMS要告诉订单中心再触发支付和结算业务的退款流程。

  • 用户中心

用户中心是存储用户基础数据的地方,承担用户注册登录找回密码,更换手机号的流程。

不同国家支持不同类型的注册方式,如手机号注册、邮箱注册、谷歌账户注册。

技术方案也支持不同类型的前端产品,如Web、Webview、APP等。

不同风险等级的业务,要支持不同类型的注册方式,如电商业务只需要手机号注册,金融信贷业务还需要支持人脸识别、身份证认证。

  • SRM

SRM是供应商管理系统,核心逻辑是对于不同的供应商进行打分和评判,筛选初优质的供应商。

对询价、采购、物流、财务等供应流程进行数据化管理。

网站架构技术的演进

  1. 网站初级架构

一般产品刚开始的做法是三台服务器,一台部署应用,一台部署数据库,一台部署NFS文件系统。

业务增长后,会加应用负载均衡,数据库采用主从复制,读写分离,应对慢慢增长的业务:

  1. 业务拆分

随着业务进一步增长,架构也会根据业务属性进一步拆分,划分为:

  • 产品子系统

  • 购物子系统

  • 支付子系统

  • 客服系统

  • 商品系统

  • 登录系统等等

业务子系统分为核心系统和非核心系统。

  • 核心系统:产品子系统,购物子系统,支付子系统;

  • 非核心:评论子系统,客服子系统,接口子系统。

每个子系统单独部署,避免集中部署导致一个应用挂了,全部应用不可用的问题。

等级用于流量突发时,对关键应用进行保护,实现优雅降级;保护关键应用不受到影响。

  1. 数据库分库,分表

在业务拆分的基础上,结合分库分表和读写分离

  1. 分布式缓存

提高用户体验,加快用户快速访问网站,把热点数据进行缓存

  1. 服务化

最后把各个子系统进一步抽象细化,作为一种服务来提供给其他人使用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/630514.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Yoshua Bengio独家专访:我不想把大模型未来押注在Scaling Law上,AGI路上要“注意安全”...

导读 漫长的30年间,数度从主流方向的超然出走,是Bengio的制胜秘诀。这种不盲从主流的风格体现在他研究生涯的方方面面。 90年代末期,神经网络被打入冷宫,Bengio的论文多次遭拒,连学生们也开始担心,和他一起…

transformer架构详细详解

一、transformer的贡献 transformer架构的贡献:该架构只使用自注意力机制,没有使用RNN或卷积网络。且可以实现并行计算,加快模型训练速度。 (将所有的循环层全部换成:multi-headed self-attention) 二、t…

linux启动minicom、u-boot的常用命令、网络命令tftp、nfs/根文件系统、u-boot的bootargs环境变量

linux启动minicom sudo minicom -con进入minicom界面: 打开单片机 在打开之后,我们通过 printenv查看环境配置 在修改配置之前,我们最好先将环境初始化一下,初始化代码为 nand erase.chipu-boot的常用命令 尽管u-boot是一个…

Hive进阶(1)----HDFS写入数据流程(赋图助君理解)

HDFS写入数据流程 1.理论流程描述 HDFS(Hadoop分布式文件系统)的数据写入流程是一个复杂但高效的过程,可以分为以下8个步骤: 1、client(客户端)发起文件上传请求; 2、通过发送RPC请求与NameNode建立通讯。NameNode…

【Python基础】Redis

文章目录 [toc]进入Redis交互模式Redis服务测试切换仓库字符串Key命令HashListSetZSet数据添加数据查询数据更新数据删除查询存在的所有key 个人主页:丷从心 系列专栏:Python基础 学习指南:Python学习指南 进入Redis交互模式 redis-cliRed…

uniapp中scroll-view初始化的时候 无法横向滚动到某个为止

项目需求 实现日历&#xff08;13天&#xff09;默认高亮第六天 并定位到第六 左边右边各六天&#xff08;可以滑动&#xff09; 直接上代码 <template><scroll-view class"scroll-X":show-scrollbar"true" :scroll-x"scrollable":…

Mac电脑版鼠标连点工具 RapidClick for Mac

RapidClick for Mac是一款方便实用的自动点击工具&#xff0c;可以帮助Mac用户在使用电脑时轻松、快速地进行鼠标操作。它可以模拟人类手指点击的动作&#xff0c;让您的鼠标点击变得更加快捷高效&#xff0c;大大提升了工作和游戏的效率。 RapidClick for Macv1.5.1激活版下载…

LangChain LangServe 学习笔记

LangChain LangServe 学习笔记 0. 引言1. LangServe 概述2. 特性3. 限制4. 安装5. 示例应用程序6. OpenAPI文档7. Python SDK 客户端8. Playground9. 聊天可运行页面 0. 引言 使用 LangServe 可以立即将您的LLM应用程序变成 API 服务器。 LangServe 使用 FastAPI 构建&#x…

微信小程序之点击事件

微信小程序中常用的点击事件主要是 tap&#xff0c;但除此之外还有其他的触摸类事件&#xff0c;用于不同的交互场景。以下是一些常见的点击和触摸相关的事件及其区别&#xff1a; 1、tap——最基本的点击事件&#xff0c;适用于一般的轻触交互&#xff0c;类似于 HTML 中的 c…

使用Python工具库SnowNLP对评论数据标注(二)

这一次用pandas处理csv文件 comments.csv import pandas as pd from snownlp import SnowNLPdf pd.read_csv("C:\\Users\\zhour\\Documents\\comments.csv")#{a: [1, 2, 3], b: [4, 5, 6], c: [7, 8, 9]}是个字典 emotions[] for txt in df[sentence]:s SnowNLP(…

低噪声放大器是如何实现低噪声放大的功能的

灵敏度作为接收机最重要的指标之一,直接决定了接收机能分辨的最小信号。接收机的灵敏度计算公式如下所示。 Psensitivity=-174dBm+NF+10*lg(BW)+SNR 由接收机灵敏度的计算公式可知,影响接收机灵敏度的指标有噪声系数、带宽和信噪比,因此一旦带宽和信噪比确定了,那么能决…

计算机网络 -- 网络编程基础

一 学习准备 1.1 IP地址 在 前文中我们提到过: IP 是全球网络的基础&#xff0c;使用 IP 地址来标识公网环境下主机的唯一性&#xff0c;我们可以根据 目的IP地址 进行跨路由器的远端通信。 但是我们也提到了&#xff0c;通过 IP 地址&#xff0c;只能寻找到目标主机&#xff…