0 0

限量秒杀等高并发活动的正确性如何保证?5

近几年,各大电商甚至各个运营商,都经常搞一些秒杀活动、抢红包等。比如某月的11号10点,某品牌手机“1元秒杀”,限量100部。
此时,必然在10点前后,网站的并发量会相当大。为了应对网站的高并发,我们可以使用应用服务器集群,负载均衡器会将请求分发到各个应用服务器,这样各个应用服务器的流量就会小很多。但由于集群时同一个应用部署在多个应用服务器上,此时,对于这个100部的限量,该如何保证不会卖多呢?
单节点的时候,我们可以在应用内部使用锁和计数器来保证,可以使用类似于JDK内部的CountDownLatch这些并发组件,我们可以在应用内部使用锁和计数器来保证,但在集群环境下,这个应用内的计数器就没有意义了。应用被分发到各个服务器,此时为了保证这个数据的正常,一般常用的手段有哪些呢?
比如我们可以让所有的Server访问同一个数据库,这样来限制,但此时数据库就会成为瓶颈。为了解决瓶颈问题而采用数据库集群的话,各个数据库之间如何保证数据的同步的呢?
另外,如果使用Redis等分布式缓存,这样的话,为了解决单点问题也必然会有多个分布式缓存存在。此时多个缓存节点间的数据如何保证?

没有从事过互联网应用的开发,不知道这类需求该怎么实现,请论坛内有相关经验的朋友指点。谢谢。

问题补充:@kidding87  和@greemranqq 回答的都很赞。由于我个人没有这方面的经验,有些你们提到的解决方案,像请求缓存,请求排队之类的,还是有些茫然。当然,这是和个人经验有关系。如果在指出实现方案上能再具体一点就更好了。
2014年5月18日 21:09

3个答案 按时间排序 按投票排序

0 0

采纳的答案

1.秒杀活动,一般做得简单点,大家访问的都是同样的界面,页面全部进行缓存,秒杀按钮一般等到时间到了,才点亮,才生成URL,防止提前通过URL 访问。

2.秒杀一般请求数特别多,在秒杀开始之前,URL 不开放,页面有缓存,无论用户怎么刷新,也不会给服务器造成压力。

3.秒杀一旦开始,会有很多请求出现,但是一般我们只允许比如前100个有效请求,这个100个请求进行订单处理,其他请求都进入缓存好的,秒杀结束页面。

4.实际上我们仅仅对有效请求进行处理,这里的处理办法可以对请求加入队列,当数目达到100,就不在添加,然后可以依次从队列里面提取信息,处理我们需要的结果,不会出现超标的情况。

5.对于数据库的设计,一般情况下,如果量比较少,可以用专门的服务器来处理有效订单,其实请求就不会太多,压力不会太大了。

6.在你分布式集群里面,假设你有N台服务器,那么你可以规定每台服务器仅仅处理100/N g个订单,同时你也可以做一个全局计数器,利用分布式缓存框架。

7.因此你说的数据库压力,以及分布式数据同步的问题,可以得到很好的解决。关于分布式集群之间的通讯这些,可以靠消息中间件,或者延缓等等各种手段处理。

8.上面仅仅是个人想法, 提供一些参考,有问题请指出~。~

2014年5月18日 22:43
0 0

不错。。。学习了。

2014年5月21日 10:00
0 0

Memcached
redis
在分步式计数效果很不错
我们在秒杀之类的,基本都不让请求怎么过数据库
1、设置请求本地缓存
2、使用squid之类的请求缓存
3、web的服务器做本地缓存+分布式的缓存
4、MQ异步处理数据持久化

2014年5月20日 15:29

相关推荐

    Cass等高线修改插件

    4. 错误修正:如果发现等高线存在错误,如错位、交叉等,插件提供便捷的工具进行快速修正,保证等高线的正确性。 5. 自动提取等高线:对于已有地形数据,插件可以自动识别并生成等高线,大大节省了手动绘制的时间。 ...

    .netcore秒杀活动,模拟

    标题中的".netcore秒杀活动,模拟"指出我们要探讨的是使用.NET Core框架构建的一个秒杀系统,这是一种在短时间内处理大量用户请求的高并发场景。在电商或其他促销活动中,秒杀功能常常被用来吸引用户,因此系统的...

    CASS等高线交点坐标提取

    本文将深入探讨“CASS等高线交点坐标提取”这一主题,以及如何利用特定程序来实现这一功能。 CASS,全称是Computer Aided Surveying and Settlement System,是中国测绘科学研究院开发的专业测绘软件。它提供了丰富...

    C#生成等高线源程序.rar_C# 等高线_c#等高线_三维_地形图_等高线 c#

    2. 等高线生成:通过插值算法(如最近邻插值、双线性插值或样条插值)计算各个等高线的高度值。这一步可能涉及到查找相邻点的高度差,以确定等高线的位置。 3. 图形绘制:使用GDI+(Graphics Device Interface Plus...

    基于连贯性的地形等高线提取方法研究

    这种方法可以有效地将等高线扩展到整个地形区域,同时保证等高线间的连贯性。 6. **结果验证**:通过对比真实高度数据和提取出的等高线高度值,评估方法的有效性和准确性。此外,还可以通过可视化手段直观展示等高...

    等高线制作

    二、等高线制作的重要性 等高线制作在工程设计、城市规划、地理信息系统等领域具有重要的应用价值。等高线地形图可以帮助工程师和设计师更好地理解地形特征,进行精准的设计和规划。 三、等高线制作的步骤 等高线...

    CAD 等高线赋值

    5. 结果检查与调整:赋值后,你需要检查等高线的连续性和合理性,确保它们准确反映了原始数据。如果需要,可以进行微调,如修改个别等高线的值,或者优化等高线的显示样式。 6. 输出与分享:最后,将处理好的等高线...

    CAD-等高线内插_等高线_CAD-等高线内插_cad等高线内插_

    同时,等高线的生成还需要考虑避免交叉和断裂,保持连续性和完整性。 5. **应用领域**:等高线内插技术广泛应用于地形分析、地质勘探、城市规划、道路设计、环境影响评估等多个领域。例如,在规划建筑设计时,了解...

    LabVIEW画等高线图

    在探讨如何利用LabVIEW软件绘制等高线图之前,我们首先需要了解几个基本概念:什么是LabVIEW?等高线图是什么?以及等高线图在实际应用中的意义。 ### LabVIEW简介 LabVIEW(Laboratory Virtual Instrumentation ...

    全球等高线数据

    确保正确导入这些文件,以便软件能正确识别和显示等高线数据。 在实际应用中,全球等高线数据不仅用于科研,也广泛应用于导航系统、气象预报、地质调查、土地利用规划等领域。通过对等高线数据的处理和分析,我们...

    cad cass 等高线快速整形--命令--DG.zip

    而合并相邻等高线则能减少等高线的数量,简化图形,同时保持等高线间距的均匀性。 在压缩包内的"等高线整形.fas"和"等高线整形.VLX"文件,很可能是这个DG命令的源代码或插件文件。FAS文件可能是一个Fast Lisp程序,...

    ArcGIS 等高线生成

    ### ArcGIS等高线生成详解 #### 一、前言 等高线是地图学中的一个重要概念,它指的是地面上高程相等的各点所连成的闭合曲线。等高线在地形分析、地质勘探、城市规划等多个领域都有着广泛的应用。在GIS技术中,等高...

    等高线等复合线处理lsp插件;修等高线绝对实用

    此外,它还能帮助用户保持图纸的一致性和准确性,避免因为人为错误导致的数据不一致。 总结来说,“等高线等复合线处理lsp插件”是CAD和CASS用户处理地形数据的强大工具,通过自定义的LISP脚本实现了对等高线的高效...

    等高线shp文件

    等高线shp文件是地理信息系统(GIS)中常见的数据格式,主要用于表示地形的高低变化。在GIS领域,等高线是一种将地形表面高度信息二维化的表现方式,它通过一系列等距离的闭合曲线来描绘地形的起伏状态,每条等高线...

    HTTP并发测试工具

    这种测试对于电子商务网站、社交平台、在线游戏服务器等高流量场景尤其重要,因为它们需要处理大量的并发连接,保证用户在高峰期也能得到快速、流畅的体验。 使用"httptest.exe"这个可执行文件,用户可以设置不同的...

    Cesium等高线插件

    Cesium等高线插件是基于Cesium JavaScript库的一个扩展,用于在3D地球场景中渲染地形的等高线,从而提供更为丰富的地理可视化效果。Cesium是一个强大的开源JavaScript库,它利用 WebGL 技术来呈现全球范围内的3D地球...

    2013年中国数据库大会-28-秒杀场景下MySQL的低效--原因和改进

    9. 数据库监控与调优:在秒杀等高并发场景中,实时监控数据库性能,及时发现性能瓶颈并进行调优是至关重要的。通过监控工具能够识别出慢查询、索引优化问题等,对提升系统性能具有重要作用。 10. 大数据技术的应用...

    用LISP语言编程在CASS软件中实现小等高距等高线到大等高距等高线转换

    在实际绘图中,常常会要求把小等高距等高线转换为大等高距等高线。实际绘图时,常采用先删除已有等高线,再用高程通过绘图软件重新生成所需要等高线,但所生成等高线须进行修改、处理,花费时间长、作业效率低。如何高效...

    秒杀系统架构设计-许大牛

    秒杀系统架构设计是互联网行业中一个非常重要的领域,特别是在电商、票务等高并发场景下,秒杀活动能够迅速清空库存,同时吸引大量用户流量。许大牛,作为一个在IT行业内具有较高知名度的人物,他的秒杀系统架构设计...

Global site tag (gtag.js) - Google Analytics