2 0

笔试题:6000每秒秒杀系统设计5

一团购网站的笔试题。”秒杀“系统设计:秒杀数量有限,必须支持每秒6000人同时在线抢购,异步在线支付。
求教:怎么在6000人/秒的压力下,控制秒杀数量。
给个思路,感激不尽。

问题补充:我自己的一些想法:
        参考我们自己的生产环境,1台tomcat的连接数也就500这个量级,所以6K怎么也需要10台以上的集群。我们用nosql来做过计数,但没有这个大的并发要求,我们有一个类似的业务,用redis实现的,能达到900/s的链接数。
        求高手给个思路,6000次/s的在线秒杀,怎么实现。

问题补充:先感谢大家的解答。补充些想法。6k/s肯定是qps,我们生产环境1个tomcat并发好像就是200。我觉得6k/s这个到不是大问题,我们自己的平台都能到15k,搭个nginx集群就行。我觉得这个问题的关键是:1,肯定是付款才减库存,所以如何能在保证用户体验的前提下回收秒杀资格,并把资格分给后面的人。其实笔试题里提到了用户体验,我感觉这个也应该从产品的角度做些设计2,就是队列的事儿,队列应该是单点的吧,反我觉得最后减库存肯定是数据库事务保证。我查了下redis压力测试,写能到8k/s,应该能满足本题的要求(上面我说以前的经验,是整个业务900/s,这点我自己迷糊了)。但也就到这了,真不知道淘宝那种据说百万级的怎么搞得。记得去一淘面试,我说用redis做的缓存,考官说redis性能达不到吧,我回了句性能挺好,然后听到一声轻蔑的  哼~~~~~ 打击呀
2013年5月02日 19:58

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

0 0

后台接收到请求后 就往异步消息服务器里扔
缓存里设置一个全局变量 是否更新成功
比如有10个秒杀名额 那么 异步消息是串行更新数据库数据的
名额秒杀完后 后面的消息直接读全局变量是秒杀完的 就不去更新数据库了
不更新数据库的话对你tomcat的压力不大
前台ajax定时异步请求后台是否秒杀完成 以及秒杀成功的ID
后台处理每秒 6000个非数据库更新的请求还是可以承受的

2013年5月06日 23:33
0 0

特殊情况特殊处理,内存缓存呗就,完事了一起进数据库。

2013年5月04日 14:49
0 0

参考LMAX架构,使用Disruptor

2013年5月03日 23:45
0 0

并发处理跟代码关系不大,还是考虑集群吧。

2013年5月03日 16:19
0 0

两个关键点:

1、支付进对列,把并发拉直;
2、支持自动退款,即调用支付通道的功能,将没有抢上的会员的钱原路退出;你要是想让面试官高兴一些,你也可以说:把没有抢上的会员的钱自动转变为现金充值;

就这么简单,祝你成功

2013年5月03日 14:21
0 0

tomcat单台连接数是500,我觉得你把连接数和qps混在一起。假设业务处理平均时间为2ms,QPS是500,但并发也许不到500

2013年5月03日 12:13
0 0

6000/s是不是考虑到这样的团购网站不会使用tomcat作为服务器了。
类似weblogic这样支持分布管理的服务器是更好的选择。

web服务器接收请求后可以有负载均衡的处理,保证多台app服务能够接收到大致均等数量的请求。

当然,同时缓存机制也是很好的选择。
其他的比如事务什么的就是程序设计的问题了。

2013年5月03日 10:14
0 0

6000/s并不意味着6000的并发呀。如果处理速度快,1个并发连接就搞定了。

2013年5月03日 08:20
0 0

可以参考java.util.concurrent的并发包去实现。

2013年5月02日 22:01
0 0

论坛上有讨论过的,个人认为稍微靠谱的样子有

http://www.iteye.com/topic/1119017


我觉得大概有这么几点

  1. 所有请求都缓存进队列。
  2. 异步付款,等待付款成功结果。
  3. 付款成功后,同步扣库存。
  4. 库存为零后,清空队列。转去结束画面。
  5. 不能依赖DB事务。
  6. 服务器负载最小化。比如非逻辑处理等一律移去前台,尽可能静态化页面等。

2013年5月02日 20:51

相关推荐

    名企面试笔试真题:TI 笔试题.rar

    TI的面试笔试题目往往涵盖了广泛的IT知识领域,包括但不限于电子工程、微电子学、计算机科学以及嵌入式系统设计等。这份"名企面试笔试真题:TI 笔试题.rar"文件,通过模拟数字应用工程师和MCU助理应用工程师的笔试...

    2015阿里巴巴笔试题:产品经理及运营篇.pdf

    2015阿里巴巴笔试题:产品经理及运营篇.pdf

    C++面试题笔试题C++ 数据结构算法笔试题资料合集.zip

    C++面试题笔试题C++ 数据结构算法笔试题资料合集: 50个C、C++面试题.pdf C++ 数据结构、算法笔试题.docx C++基础面试题.docx C++开发工程师面试题库.docx C++技能测试试卷一及答案.docx C++技能测试试卷二及答案....

    thoughtworks笔试题:Conference Track Management

    thoughtworks的笔试题:会议安排。本人使用Java实现,把会议封装成对象,再调用工具类安排会议。下载后的代码里面包含本人姓名,记得改正!附件有运行成功截图!代码能够完美运行,如不能运行我被车撞死!!请放心...

    嵌入式软件笔试题合集.zip

    嵌入式软件笔试题合集嵌入式软件笔试题合集嵌入式软件笔试题合集嵌入式软件笔试题合集嵌入式软件笔试题合集嵌入式软件笔试题合集嵌入式软件笔试题合集嵌入式软件笔试题合集嵌入式软件笔试题合集嵌入式软件笔试题合集...

    操作系统笔试题及答案

    操作系统笔试题及答案 操作系统笔试题及答案是计算机科学中的一门重要课程,对于考研和笔试面试的考生来说尤其重要。以下是操作系统笔试题及答案的详细解释: 1. 在下列系统中,( )是实时系统。 answer:B航空定...

    中兴笔试题 中兴笔试题 中兴笔试题 中兴笔试题

    中兴笔试题 中兴笔试题 中兴笔试题 中兴笔试题 v中兴笔试题 中兴笔试题 ...中兴笔试题 中兴笔试题 中兴笔试题 中兴笔试题中兴笔试题 中兴笔试题 中兴笔试题 中兴笔试题 中兴笔试题 中兴笔试题 中兴笔试题 中兴笔试题

    java笔试题笔试题

    java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 ...

    阿里巴巴多岗位校园招聘笔试真题汇总-2021.zip

    阿里巴巴多岗位校园招聘笔试真题汇总-2021 包含多个岗位方向的校园招聘笔试真题: 交互设计师岗 产品运营岗 技术web前端开发岗 技术岗位通识 游戏运营岗 用户体验实习生岗 研发工程师岗 营销专员岗 视觉设计师岗 ...

    华信笔试题笔试题笔试题

    大连华信去年的笔试题,可以给各位即将工作的同学一些参考

    IC面试题_IC数字设计笔试题_IC设计_

    3. **数字系统设计** 这包括状态机(FSM)设计、微处理器体系结构、存储器组织、总线协议等。理解如何构建复杂的数字系统,并确保其正确性和效率。 4. **ASIC(Application-Specific Integrated Circuit)设计流程...

    C#笔试题大全C#笔试题大全C#笔试题大全.

    C#笔试题大全C#笔试题大全.C#笔试题大全.C#笔试题大全.C#笔试题大全.C#笔试题大全.C#笔试题大全.C#笔试题大全.C#笔试题大全.C#笔试题大全.C#笔试题大全.C#笔试题大全.C#笔试题大全.C#笔试题大全.C#笔试题大全.,让你...

    笔试题库:程序员进阶宝典-markdown材料.zip

    这份材料覆盖了算法、数据结构、操作系统、网络、数据库等多个领域,精选了经典算法题、实战案例题以及前沿技术题,旨在让您在准备面试的过程中能够全方位地提升自己的技术水平。无论是刚入门的新手还是有一定经验的...

    2012-2015历年中国移动笔试真题资料移动招聘合集.zip

    移动笔试真题之技术类--2010年厦门移动招聘数据库系统工程师笔试试题.pdf 移动笔试真题之技术类--2010年杭州移动招聘操作系统工程师笔试试题.pdf 移动笔试真题之技术类--2010年深圳移动招聘操作系统工程师笔试试题....

    算法笔试题:(Python实现)—— 算法面试题汇总

    算法笔试题:(Python实现)—— 算法面试题汇总算法笔试题:(Python实现)—— 算法面试题汇总开始之前Python实现只出现一次的数字多数元素搜索二维矩阵 II合并两个有序数组鸡蛋掉落字符串Python实现验证回文串...

    销售人员笔试试题.docx

    2. 销售人员笔试题的分类:销售人员笔试题可以分为选择题、简答题和论述题等。 3. 销售人员笔试题的特点:销售人员笔试题具有多样性、实践性和策略性等特点。 销售人员笔试题的知识点 1. 市场营销战略:无差异...

    2010-2013华为历年笔试题大汇总-31.pdf

    华为软件工程师笔试题涵盖了多种类型的编程语言和技术,包括 C 语言、C++ 语言、数据结构、算法设计等。以下是一些该资源中包含的软件工程师笔试题: 1. 华为 C 语言笔试题:考察了考生的 C 语言基础知识和编程能力...

    华信设计笔试题

    华信设计院的笔试题,希望能够对大家有用。也希望自己能够进入工作

    阿里巴巴校招前端笔试题

    阿里巴巴校招前端笔试题 校招前端笔试题.pages

Global site tag (gtag.js) - Google Analytics