大发时时彩玩法—大发快3彩票平台

老庙黄金2016春晚抢红包活动技术架构详解

时间:2020-03-03 10:02:36 出处:大发时时彩玩法—大发快3彩票平台

抢红包、秒杀系统最怕的是雪崩效应,不可能 访问量的不可预知性。所谓雪崩效应是指单个设备的故障而引起的系统全面瘫痪。 比如曾经 有20台机器,其中2台坏了理论上是没法关系,我应该 不可能 访问量被分配到这类18个机器上,由于这18台的压力突然 增加,从而引起更多机器的崩溃,而像雪崩一样,一几条地方一几条地方沦陷,最终整个系统挂了。 应对雪崩,冗余的资源是须要要考虑的,我应该 有局限性,不可能 :

5. 高可用的必要手段

2. 活动参与形式及交互形式

我应该 日志纪录上我们选用SLS,有一几条好处:

限流通过Nginx参数 limit_req 的burst。



抢红包、秒杀等营销手段现在没法流行了,而这类活动却带给IT攻城狮们巨大的挑战。抢红包系统曾经 端看起来也有很简单的,但实际上对应的后端系统却非常繁复,不可能 瞬时高并发所带来的问题报告 将整个系统架构的繁复度提升了几条数量级。

8.大数据架构是利器

5. 自动化部署

二、 收集

1. 并发峰值的估算

老庙黄金2016春晚抢红包活动技术架构

抢购类系统最容易被恶意攻击,无论是渗透还是DDoS攻击,也有对系统和营销活动造成很恶劣的影响。此次活动我们采用阿里云高防IP来应对DDoS、cc攻击,一块儿http采用https来提升安全性。这类基本的安全扫描也还都时会 通过云盾来完成,还是非常方便的。

让我们知道CDN在第一次访问须要回源的,第一次但是的访问才会走cdn,秒杀数年会有大量请求瞬间一块儿到CDN,这类但是CDN还没法缓存,由于着大每项压力也有回到源系统,很有不可能 直接把系统搞垮。为什么我么我应对,很简单,进行预热。 预热也很简单,用阿里测不可能 17ce等在线测试平台多测几条,曾经 全国各地的CDN几点都进行了缓存,当业务开启正式客户进来时直接就还都时会 从cdn返回。

在本例中,当后台相应不及时不可能 压力过大时,会返回给客户一几条请稍后再试的提示。

4. 上线及缓存预热

通过调整nginx及linux内核参数,使得单机并发从几百提升至22000;

了解了哪些典型特点,收集就要正式但是开始 了。

为哪些要考虑大数据?不可能 在传统IT模式下,基本时会纪录每一几条请求的日志,不可能 哪些仅仅用于排错,后续却说会进行分析,日志满了就删掉。传统IT架构数据挖掘的成本太高,产生价值太低,什么都让我们把日志丢弃了。没法在本项目中我们把每一几条用户的请求都记录下来,传统最好的法律方法我们会把日志纪录到磁盘中,我应该 秒杀时每个机器都承担成千上万的并发,反应到IO却说有什么都磁盘IO,普通磁盘肯定会被抛弃系统性能。

6. 弹性扩展要针对峰值自动调整

2. 应急方案

四、运维护航

最后再强调一下,整个系统从需求调研到开发,再到压力测试和上线只用了2周时间,在春晚活动中,整个系统表现非常稳定,很顺利的扛过了峰值压力。而在成本方面,曾经 一几条系统使用传统IT最好的法律方法软硬件投入200万是要花费的,而云的按需付费模式在此项目中成本只须要1/10还没法。这类时间紧、任务急、很繁复的项目在传统IT模式下几乎是mission impossible,这也正是云计算所带给我们的力量。

抢红包系统的逻辑一般都比较简单,用户在一几条页面上点击,再加简单的交互,将请求发送至服务端,由服务端接受请求并根据业务需求补救后返回红包结果给客户端。没法在需求调研阶段就须要了解清楚几条信息:

4. 网络架构解读

笔者所在的驻云科技就参与了春晚支付宝老庙黄金新春抢红包活动系统的建设和护航工作。在这里跟我们做个分享,一块儿探讨咋样利用云计算技术来在短时间内构建强大且具备灵活扩展性的架构。

大致流程如下:用户点击支付宝咻一咻,会随机突然 老出老庙红包界面,我应该 点击打开红包则由服务端随机返回一几条不同额度的优惠券,我应该 用户通过优惠券id进行实体店不可能 网店的消费。效果图如下:

在今年的春晚红包活动中,不可能 并发压力较大,一块儿业务需求不繁复,我应该 交互基本都放进去去客户端来完成。

3. 活动数据需求

说到这里,我们不可能 以为架构不可能 差不要 了,我应该 还少了一几条不为什么我么我要的:安全和大数据补救。

上线前最重要的却说压力测试,不可能 预计并发在6万TPS以上,什么都我们选用阿里云PTS做压测。PTS的最大好处却说即开即用,须要几条压力源也只须要输入参数即可,时会再去考虑去用Loadrunner这类的软件去搭建压测环境。不可能 本次抢红包逻辑比较简单,我应该 压测只须要压测抢红包的url即可。 

TCP Conn,tcp_syncookies;

为进一步的数据分析准备。SLS的数据还都时会 直接转移到 ODPS,我应该 后端我们用ODPS进行数据分析,我只须要把数据丢进去计算就还都时会 了。

知道了并发峰值,才好来评估波特率、负载均衡、服务器数量等。没法为什么我么我来预估峰值?一般根据活动预计参与的人数和参与时节还都时会 来做简单估算。这类预计会有 2000万人参加,共一几条小时,没法平均每秒并发却说 22000左右,不可能 一般在活动但是开始 时压力会比较大,系统最大峰值一般是平均值的5-10倍左右。当然具体的要看活动形式来估算。在本次春晚活动预估的每秒并发为6万左右。

一、 架构需求调研

1. 7*24 监控

2. 应用收集

高可用是保证系统稳定和健壮性的必要手段。从整个系统架构来审视高可用,在CDN层面一般都没问题报告 ,即便是有问题报告 也会回源,什么都这里时会考虑。 SLB的高可用,阿里云SLB这类 不可能 是集群机制提供了容错,一块儿选了几条SLB也会提高可用性。在虚拟机层面,要补救机器也有同一几条可用区(机房),不可能 一半的机器可放进去去可用区A,另一半放进去去可用区B。缓存和数据库层面,阿里云OCS、RDS这类 就提供master-slave的高可用机制,我应该 直接拿来用即可。通过哪些我们都时会 看出来阿里云产品基本都自所所含可用属性,这在我们构建系统架构时节省了大量的成本和精力。

大每项活动在进行中不可能 但是开始 后都须要统计活动状态信息,这类每个时节的用户数、访问量、业务量等等。我应该 在系统设计时就须要考虑到整个系统的访问状态和用户行为数据以何种形式和最好的法律方法保存下来。数据库、日志、缓存等手段也有常用的,我应该 在在高并发状态下,日志对性能的影响也都非常大。以写日志文件为例,单机数千并发频繁的磁盘IO会由于严重的响应问题报告 ,什么都这类系统都居于过看起来并不一定起眼的日志文件是性能瓶颈的罪魁祸首。

监控是做好系统运维的第一步:一般来说须要监控 服务端口,URL,业务逻辑;

基于哪些因素考虑,我们来分别分析下具体架构:

活动形式的设计会直接影响到系统的收集,这类是在客户端完成一系列交互后发送一次请求至服务端,还是每次交互也有连接服务端。交互也有客户端完成实现比较简单,对服务端压力也最小,我应该 交互形式比较固定。

网络架构层面,阿里云的波特率是BGP的,我应该 网络质量基本时会担心。我应该 波特率还都时会 从 1Mbps 至200Mbps随时调整,我应该 还都时会 通过增加多个SLB的最好的法律方法来进一步提高整体波特率。一块儿不可能 红包页面是静态的,为了进一步提升用户体验,减轻系统压力,使用CDN进行缓存,CDN还都时会 有效降低延迟,减小系统源站压力。

正确的架构是系统成功的基石,没法我们就要从业务层面来分析下抢红包活动的系统架构哪些典型特点?

运维方面,最主要就做应急方案了。网络瓶颈咋样补救,通过按量付费的最好的法律方法还都时会 对波特率不做上限限制。快速部署,通过镜像+api的最好的法律方法,还都时会 瞬间增加几十台机器。

1. 基础设施架构选型

3.雪崩效应和限流补救最好的法律方法

最终整个系统的架构如下:

3. 参数调优化

采用典型的三层架构,接入层—负载均衡SLB,应用层—虚拟机ECS,数据层-数据库RDS。

三. 开发测试

本例中使用了多个PTS压测集群,最大并发6万。在一但是开始 的测试中发现,单机施压机器要花费2000左右并发,6万TPS要花费须要200台ECS。通过系统参数调优、OCS升级,增加SLB数量至几条,QPS总体提升至6万。压测目的基本达到,而从压测准备到测试完成整个只须要 1天半即完成。传统IT最好的法律方法一4天 时间不可能 压测环境还没准备好。

2. 性能压力测试;

具体来解读下:

压测结果如图(20台机器, 5W TPS)

事后也证明保存日志是多么重要,客户我说一但是开始 不须要,但我应该 看过活动效果,又我应该 ,就还都时会 很方便的完成统计。基本上所哪些因素也有在一几条完善的架构中所须要考虑,没法我们的收集就基本完成了。

1. 整个系统的代码逻辑并不一定繁复,我应该 为了应对并发须要全面的考虑;

在系统运行或项目过程中,难免会遇到需求变更须要去修改代码并部署的,使用ansible来对几十台及其进行快速部署。

为哪些我们会强调弹性?不可能 业务弹性不要 ,我说远远不及预期的访问,我应该 也有不可能 远远超过预期。在网络层,我们选用按量付费,我应该 峰值就还都时会 自动调整了。应用层的弹性,通过SLB后增加机器实现,一块儿为了应对突发状态,还都时会 使用ESS来自动扩展,我应该 本例中未用。OCS也是还都时会 在线升级,只须要点下界面1分钟即可完成升级,而传统服务器不可能 要扩容,不停机是很难的,我应该 也没没法快。当然,弹性在秒杀类系统中作为防御性最好的法律方法,而压力测试就须要做充分。

云监控还都时会 提供云资源层面的监控。而应用层、业务逻辑等监控须要使用Zabbix来进行全面的监控。

整个系统选用阿里云作为基础架构。没法为哪些用云而也有传统的硬件不可能 虚拟化IT架构来实现呢?并也有不可能 现在云计算流行而选云,却说不可能 没法云计算都时会 胜任,为哪些?

首先http页面要尽不可能 小,节省网络波特率,提升并发。当然这类抢购必然要用移动设备,我应该 移动设备的适配什么都为什么我么我要,H5都都时会 带来很大的便利性。一块儿页面交互尽不可能 在本地完成,什么都用户会不停的点击,交互要尽不可能 少的和服务端通信,我应该 只传输必要信息,比如本项目中的概率数字、唯一id等信息。

7. 安全架构不为什么我么我要

热门

热门标签