01 订单系统整体流程
《1》订单系统业务流程
【1】确认订单信息
当用户对购物车中的选中的一批商品确认下单的时候,会先出来一个确认订单的界面。用户得先确认这个订单中的商品、价格、运费无误,而且在这个过程中可以选择是否要使用优惠券、促销活动的。另外,用户还应该在这个界面中确认自己的快递方式,收件地址,是否要开发票以及发票的抬头是什么。
【2】正式下单
当用户完成这些信息确认之后,就可以确定下单。
【3】创建订单
此时我们的订单系统最核心的一个环节就出现了,就是要根据APP端传递过来的种种信息,完成订单的创建,此时需要在数据库中创建对应的订单记录。
【4】跳转到支付页
当你正式确认下单之后,除了在数据库中创建这个订单之外,还会跳转到支付界面,让你通过选择好的支付方式完成这个订单的支付。
【5】完成支付
完成支付
【6】实际支付
进行实际支付,第三方支付系统,支付宝,微信等等
【7】回调通知支付成功
一般来说,支付宝或者微信之类的支付系统,会反过来回调我们的一个接口,通知我们本次支付已经成功。
【8】回调通知,发送优惠券、红包、Push
当我们收到支付成功的通知之后,就需要安排给用户进行配送发货。除此之外,我们的订单系统需要负责给用户发放优惠券之类的东西。因为一般电商APP都经常会做一些鼓励用户购买的活动,比如你购买之后送一些优惠券,下次购买可以抵用5块钱,或者给你发一个几块钱的现金红包。还会给你发送一个push推送,通知你支付成功准备发货,这个推送很多时候是通过短信通知的。
【9】总结:订单支付成功之后,需要扣减库存、更改状态、更新积分、发优惠券、发红包、发Push推送、通知仓储系统调度发货。
《2》订单系统的非核心业务流程
《3》订单系统一些名词
QPS – 系统每秒的查询数量,这个指标是说订单系统所有的核心以及非核心功能模块加起来,每秒钟有多少请求量。
《4》订单系统真实负载
千万注册用户,百万日活,每日几十万订单量,高峰期每秒两三千的QPS。
双十一,千万级的用户。QPS会达到1w,请求数据库的QPS会达到2w。
积累的注册用户有几千万的数量。每天APP活跃的用户数量是一两百万的样子,每天新增的订单数量,大概是几十万的样子。大促活动的时候,会达到单日百万订单的量级了。
QPS,每天的高峰期,会达到每秒2000左右的访问量,限时秒杀的活动,会达到每秒1万以上的访问压力了。
订单系统整体压力:
-- 一方面是订单系统日益增长的数量量。
-- 一方面是大促活动时每秒上万的访问压力。
《5》根据线上统计数据推算出系统的负载
《6》服务器配置
《7》用户体验
确认订单信息 -- 》正式下单 --》创建订单 --》跳转到支付页面 --》完成支付 --》进行实际支付 --》回调通知支付成功 --》回调通知【扣减库存、更新订单状态、发送优惠券、红包、push】