查看: 19161|回复: 3

如何应对电商双十一抢购,看这一篇就够啦

[复制链接]
认证徽章
论坛徽章:
210
弗兰奇
日期:2016-05-31 16:31:17妮可·罗宾
日期:2016-07-04 11:53:09托尼托尼·乔巴
日期:2016-05-31 16:31:17山治
日期:2016-05-31 16:31:17乌索普
日期:2016-05-31 16:31:17娜美
日期:2016-05-31 16:31:17罗罗诺亚·索隆
日期:2016-05-31 16:31:17蒙奇·D·路飞
日期:2016-05-31 16:31:17乌索普
日期:2016-08-03 10:26:32娜美
日期:2016-08-08 14:57:54
发表于 2018-11-16 10:50 | 显示全部楼层 |阅读模式

本期课程我们有幸邀请到 云徙科技产品中心研发经理风行老师,为我们做精彩的分享。
随着互联网电商的发展,促销秒杀成为推广一个品牌简单粗暴但极其奏效的手段。但突如其来的流量高峰,给系统各个模块都带来了一连串的压力,轻则影响用户购买体验,重则使整个系统瘫痪。如何应对下单洪峰?如何有效防止黄牛刷单?如何对服务进行限流降级?此次分享会给你答案!
大家晚上好,我是云徙的风行,今天晚上我们一起聊一下企业中台建设以及企业中台在秒杀的实战经历。
第一部分 背景
1.png
2.png
相信大家的社交网络都被这两张图给刷屏了,在刚刚经历的一年一度的全民购物盛会,我们在买买买的同时也在惊叹阿里的系统的处理能力。既能经受住凌晨大触的流量高峰,还能代给用户极致的体验。可以说阿里给出了电商大促怎么玩的的标准答案。
相信大家或多或少对促销抢购活动有比较难忘的经历:体验差,总是抢不到,参与度低。久而久之我们就对活动失去了兴趣,由此,活动效果跟预期截然相反。
我们再回过来看,双十一两分钟100亿的交易额,我们按每笔订单平均100元,那么每秒产生的订单数就超过了80万。80万是一个怎样的概念呢,大家可以想象一下。很明显,阿里再一次向我们展示其第一无二的云计算的实力——阿里云大中台服务。
那么什么是中台?
3.png
中台起源于阿里,如图,一开始阿里有淘宝业务、有天猫业务,也有1688业务,但是这都是各自为政的,各自建设自己的产品。比如天猫有自己的用户中心,有自己的商品中心,有自己的交易系统,包括淘宝、1688也一样。这样产生的后果是,相同的业务在不同的业务线重复建设,除了浪费集团人力物力,可以说it建设已经无法支持当前业务的快速发展。为了解决上述问题,2009年共享事业部应运而生,将电商业务重新梳理沉淀,把通用的业务沉淀到共享事业部,避免功能的重复建设和维护,更合理地利用技资源。随着中台业务的沉淀积累,上层业务快速扩张便水到渠成。
共享事业部(中台)是阿里技术转型的成功案例,也成为传统企业创新突破的标杆。企业为什么需要中台?中台能带给企业什么?发展到现在,很多企业引进了OA、ERP、门户系统,可以说已经普及信息化。但信息化只是对企业人、事、物的管控,简单来说就是企业有多少人,有多少物品,谁在什么时候干了什么事情。这仅仅能提高我们的工作效率,无法上升到提高核心竞争力的层面。而数字化是信息化的升级,它解决从生产制造到线上线下营销一体化,贯彻到每一个环节都有可靠直观的数据用于决策。数字化简单一句话就是什么人在什么时间做了什么事情,有怎样的后果,接下来要怎么做。而这才是企业提高核心竞争能力的核心手段。这是时代趋势,而我们正处于传统企业转型的风口。
微服务的技术发展和各云厂商的崛起为这个变革提供了可能,阿里云在2013年首个飞天集群的上线预示着企业变革的机会慢慢成熟。
接下来我们就一个成功案例分享企业中台建设以及中台在抢购业务中的使用场景。
第二部分:直销企业案例,解决目前痛点
案例中是一个直销企业,目前该企业存在两个痛点:
1.  数字化转型
2.  2、抢购业务的迫切需求。
4.png
如图,我们提供一个中台的解决方案,从上面可以看出中台需要支持企业现有不同的业务,包括商城业务、抢购业务、事业工具业务等。图中间是核心的中台能力服务,是建设的核心价值。中台建设目标主要包括共享企业服务,拉通集团服务,拉通数据,达到资源服务共享。
接下来我们重点分享中台服务是怎么解决当前抢购业务痛点。
首先抢购的目的是什么?
1、提升业绩:提升销售额。
2、提升品牌效应:促进消费欲望。
针对抢购业务,我们着重从三个方面讲:
1、如何提高下单效率(应对下单洪峰)
2、如何进行防黄牛的策略,
3、如何做立体化监控。
一.    如何应对下单洪峰
5.png
1,业务流程的梳理:首先第一步就是针对我们业务流程的梳理,交互的每一个步骤都需要理清楚,这个是架构设计的基础,也是系统优化的前提。
6.png
2. 另外还需要对系统流量的数据整理,根据历史数据,对活动期间每个业务场景的流量进行梳理。
这个梳理很有价值,这对我们后续全链路的压测有很大的帮助,我们知道压力来源在什么时间点,峰值预计有多少,都会有初步的衡量。可以知道我们后续怎么压测及怎么规划容量。
7.png
3. 静态化:提高页面的加载速度,对页面进行静态化,把页面托管到OSS,开启CDN加速。一方面降低我们后端服务器的访问压力,还可以利用CDN的优势,加快页面渲染素的。
8.png
4,异步:后端的处理逻辑可以异步,我们首先梳理关键流程,把非关键流程异步化处理。
下单过程中的预占库存,预占积分,预占券,然后生成订单,如果这个过程在高并发的场景下,如果是串行操作,有可能导致用户页面加载速度慢,甚至没有反应。如果异步化操作就是首先接收用户请求,马上给用户响应,可以提示正在抢购中。通过MQ异步解耦,然后再生成订单。这样不仅提高系统的吞吐能力,也大大提高用户体验。
9.png
5,解耦:微服务还有一个好处是按领域拆分,提高水平扩展能力。交易、商品、支付每个领域都是独立提供服务,实现业务上解耦,利于扩展。
10.png
6,限流降级:通过限流降级的方法保护系统,首先梳理出核心流程,对非核心流程进行降级,或者直接暂停服务。限流,可以针对单接口限流或者整个应用服务限流。
限流算法常用有令牌桶或者漏桶算法。如图,为漏桶算法,如果把流量比作水滴,桶能装多少就是当前服务的容量,超出这个范围直接丢掉不处理,从而达到限流的目的。
11.png
7,容量规划:根据以往的历史经验去估量当前活动需求资源数量,提前做好评估,比如需要准备多少机器,准备多少网络资源。另外,这些数据还可以作为全链路压测的依据。
12.png
8,弹性扩展:活动过程中可以进行弹性伸缩,平滑的增加只读实例,扩展缓存,扩展应用实例,比如配置扩容规则,CPU大于50%内存使用率超过60%,可以进行扩容,最大可以扩到10台。缩容也同样有规则,比如CPU小于20%,内存使用率小于30%,进行缩容,最小可以缩减到两台。可以支持配置这样的规则,达到资源使用最大话。
以上几点主要包括怎么提升用户体验,怎么提升系统吞吐能力,怎么保护系统。
二.    如何防黄牛
1、限制资格
13.png
一般的促销活动都针对特定的用户,特定的时间,特定的商品进行开展。
如何选定参与用户,一方面可以通过预约或用户标签进行圈选。
另外还需要限定活动开始结束时间,商品库存和活动商品库存等手段防止超卖等风险。
2、用户标签
14.png
如何判别用户是正常用户还是黄牛用户?可以给每个用户进行标签划分,标签分主观标签和客观标签。主观标签是我主观的认为你是什么身份,比如黄牛,vip客户。如果我能识别你是黄牛,那你就直接打上黄牛标签。如果是VIP用户,就打一个VIP用户标签。另外,通过用户行为或者个人信息进行以及活动轨迹进行分析,鉴别用户的身份。如何做?首先,业务平台产生的数据,行为数据或者交易数据推到数据中台(标签中心)进行流式计算,对用户进行打标,再把打标结果推回业务中台(用户中心)。
3、实名认证、人脸识别
15.png
通过实名认证或者人脸识别的方式去降低黄牛率。
4、风控
16.png
提供风控措施,包括增加验证码,短信防刷功能,接口频率限制,IP限制,放机器人策略(通过UA识别,通过用户标签识别)是机器人还是普通用户。
三、如何对系统进行监控
1、基础监控
基础监控包括服务器资源(硬件)监控,更多硬件级别,第二是应用程序监控,然后是虚拟机监控或者容器监控。
如图,基础监控
17.png
2、全链路监控
通过业务埋点,然后采集埋点的日志,对日志过滤分析,并配置告警策略,效果如下图:
18.png
19.png
这样可以对业务进行全链路监控,每个环节一旦出现什么问题都可以及时发现。
3.      运营的监控
另外还有运营监控:通过监控大盘可以实时监测到每个区域或者每个时间的交易态势。
20.png
感谢风行老师的精彩演讲,感谢大家的关注!
论坛徽章:
8
2010新春纪念徽章
日期:2010-03-01 11:08:272011新春纪念徽章
日期:2011-01-04 10:36:17ITPUB十周年纪念徽章
日期:2011-11-01 16:25:22ITPUB 11周年纪念徽章
日期:2012-10-09 18:13:33ITPUB18周年纪念章
日期:2018-09-17 10:09:49ITPUB18周年纪念章
日期:2018-09-17 10:12:57ITPUB18周年纪念章
日期:2018-11-13 15:40:45ITPUB18周年纪念章
日期:2019-03-12 14:03:46
发表于 2018-11-30 10:52 | 显示全部楼层
双十一没去抢。觉得没什么意思。

使用道具 举报

回复
论坛徽章:
0
发表于 2019-2-27 16:40 | 显示全部楼层
赞一个!

当应用优化做到位后,落到数据库上的并发请求依然有可能很高,这就对应用的数据库设计和数据库内核自身都提出很高的要求。

数据库设计上经验:
1. 尽可能减少秒杀事务的sql个数,减少应用和db的交互次数等
2. 尽可能减少秒杀事务的锁的粒度、时间等

对数据库内核要求:
1. 提高热点行并发更新能力。mysql内核优化后并发更新能力可以到几万每秒。

使用道具 举报

回复
论坛徽章:
8
2010新春纪念徽章
日期:2010-03-01 11:08:272011新春纪念徽章
日期:2011-01-04 10:36:17ITPUB十周年纪念徽章
日期:2011-11-01 16:25:22ITPUB 11周年纪念徽章
日期:2012-10-09 18:13:33ITPUB18周年纪念章
日期:2018-09-17 10:09:49ITPUB18周年纪念章
日期:2018-09-17 10:12:57ITPUB18周年纪念章
日期:2018-11-13 15:40:45ITPUB18周年纪念章
日期:2019-03-12 14:03:46
发表于 2019-9-20 16:08 | 显示全部楼层
感谢!

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 
京ICP备09055130号-4  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表