首页 小米网秒杀系统设计经验与问题_ADC

小米网秒杀系统设计经验与问题_ADC

举报
开通vip

小米网秒杀系统设计经验与问题_ADC小米网秒杀系统设计经验韩祝鹏2013.12讲点什么? 抢购系统产生的背景 设计方案产生的过程 没什么高大上的内容 抛出一个特殊的需求实例,供大家探讨 我是来学习的没什么高大上的东西2012年初,小米手机开放抢购,然后。。。然后,服务器抗不住,雷老板出来道歉,我们更抗不住。我们的案例是独特的:市场的爆红,技术进化还没有跟上,没有时间给我们慢慢进化。别人家的流量图小米家的流量图简直就是DDoS啊!上百万人在门口啊,几百万预约,10万的QPS,4G的机房带宽,活动期间几千万次访问。抓狂是没用的所有苦难的经历,以后都能笑着...

小米网秒杀系统设计经验与问题_ADC
小米网秒杀系统设计经验韩祝鹏2013.12讲点什么? 抢购系统产生的背景 设计方案产生的过程 没什么高大上的内容 抛出一个特殊的需求实例,供大家探讨 我是来学习的没什么高大上的东西2012年初,小米手机开放抢购,然后。。。然后,服务器抗不住,雷老板出来道歉,我们更抗不住。我们的案例是独特的:市场的爆红,技术进化还没有跟上,没有时间给我们慢慢进化。别人家的流量图小米家的流量图简直就是DDoS啊!上百万人在门口啊,几百万预约,10万的QPS,4G的机房带宽,活动期间几千万次访问。抓狂是没用的所有苦难的经历,以后都能笑着说出来。其实,这套抢购系统从构思到上线,只有不到一周时间,这都是被逼出来的!为什么是我做?这么重要的系统,有7,8个人比我更适合做。都问过了,他们都没空。我们来解决这个问题!在创业公司中,你解决不了问题,就会成为问题,被解决掉!市场提出了需求,他们是甲方。甲方虐我千百遍,我待甲方如初恋。当时抢购的现状 直接到www.xiaomi.com官网去抢购 准点开始抢 十几台服务器,7、8个开发人员 PHP+Cache+MySQL结构 抢购期间,数据库锁 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 严重 PHP服务器进程卡死在创业公司中,你解决不了问题,就会成为问题,被解决掉!市场提出了需求,他们是甲方。甲方虐我千百遍,我待甲方如初恋。限制条件 4,5天时间(设计开发测试上线) 3,4个开发人员 20台左右服务器 没有黑科技储备这对小米公司以及我们来说,都是一次极大的考验,承受着极大的压力。服务器为什么撑不住? 用户抢购直接走商城 商城PHP+MySQL结构 下单流程操作多查库存、锁表、减库存、创建订单、查收获地址、支付。。。。 PHPfpm每台服务器600左右进程 一个环节稍慢一点,就会把PHP所有进程都卡死 带宽也撑不住啊,各种页面、资源直接走商城,真是无知无畏啊!继续优化商城? 优化过了,效果不佳 我们组并没有直接参与商城开发(决定性的非技术因素) 加两倍服务器也没用啊 加带宽也不行啊,成本太高了 优化程序,时间来不及 此路不通,还是果断放弃这条路吧!放弃优化商城,是最重大的设计决定:直接导致先抢资格,再去商城下单的基本结构。因为我是应急招来增援的,所以,能跳出原有系统思考。否则,钻了牛角尖的话,会走更多弯路。怎样才能撑得住? 市场策略已定,无法更改-> 抢购瞬间压力一定巨大-> 商城无法承担此压力-> 必须让其它系统承担此瞬时压力! 让商城均匀的承担下单的压力把抢购瞬间的压力波峰给拉平,抢购系统就是是防波堤第一个关键设计决策:李代桃僵:资格抢购系统汹涌的用户波涛冲击抢购系统,抢到资格的人名单传给商城,半小时后,商城再下单。抢购系统设计面临的问题 一定会死人的:资格放多了! 一定会死人的:资格丢失! 可能会死人的:抢购时卡住,无法抢购 暂时死不了人:配置商品,自动流程,优雅的程序结构我们最担心的是卖超!!不担心卖不出去。卖超了,会有愤怒的用户来抗议的。 底线思维必须树立底线思维的思想方法,对危机态势做最坏的准备,同时努力争取较好的结果性能问题如何解决? 尽量减少PHP的同步操作! 单点问题:商品剩余数量如何控制?PHP处理请求时,不去管具体的数,只要知道“是否有剩余”即可判断文件锁是否存在! 用户预约资格、是否抢到的信息如何获取?存Redis里每台PHP服务器上放一个Redis从库PHP读取本地的Redis从库 Redis主库的写操作单点压力如何解决?PHP是否会阻塞?PHP进程不连接主Redis,也就是不会写Redis!PHP将抢购结果信息写到Syslog里后台进程将log异步的传输汇总到一个log_server中log_server进程写Redis主库好像有个问题哦 资格放号数量统计存在延迟! 关闭抢购时,数量会多那么几秒的数量 还好,死不了人的问题 有些人抢到资格,但种种原因未下单 放弃数据的实时精确性要求,换来性能我们最担心的是卖超!!不担心卖不出去。卖超了,会有愤怒的用户来抗议的。 底线思维必须树立底线思维的思想方法,对危机态势做最坏的准备,同时努力争取较好的结果数据准确性 双保险:日志存一份,Redis存一份 开始由我手工发指令上锁结束抢购 后来改成各服务器自动根据数量上锁我们最担心的是卖超!!不担心卖不出去。卖超了,会有愤怒的用户来抗议的。 底线思维必须树立底线思维的思想方法,对危机态势做最坏的准备,同时努力争取较好的结果这是做PPT时临时在ipad上画的,很接近最初设计时的样子。最初都是画在纸上,没有什么文档。后续的问题 每周一次的抢购啊,现在甚至一周两三次 自动化、配置化尤为重要 系统越来越琐碎复杂,监控系统 服务基本的单元测试,规则检测 我们还在摸索总结 根据现实情况,冷静分析问题 在可能的解空间中寻找最优解 用排除法,将走不通的路径剪枝 核心的技术点可能很简单 合理组合低技术手段,达成目标 不断完善最初的设计 对自己的定位:程序员-> 工程 路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理 师->创业团队一员其实当时也没那么冷静了没有什么高大上的技术,小米加步枪最后再得瑟一下谢谢!没什么高大上的东西然后,服务器抗不住,雷老板出来道歉,我们更抗不住。我们的案例是独特的:市场的爆红,技术进化还没有跟上,没有时间给我们慢慢进化。上百万人在门口啊,几百万预约,10万的QPS,4G的机房带宽,活动期间几千万次访问。抓狂是没用的所有苦难的经历,以后都能笑着说出来。其实,这套抢购系统从构思到上线,只有不到一周时间,这都是被逼出来的!为什么是我做?这么重要的系统,有7,8个人比我更适合做。都问过了,他们都没空。在创业公司中,你解决不了问题,就会成为问题,被解决掉!市场提出了需求,他们是甲方。甲方虐我千百遍,我待甲方如初恋。在创业公司中,你解决不了问题,就会成为问题,被解决掉!市场提出了需求,他们是甲方。甲方虐我千百遍,我待甲方如初恋。这对小米公司以及我们来说,都是一次极大的考验,承受着极大的压力。直接走商城,真是无知无畏啊!放弃优化商城,是最重大的设计决定:直接导致先抢资格,再去商城下单的基本结构。因为我是应急招来增援的,所以,能跳出原有系统思考。否则,钻了牛角尖的话,会走更多弯路。把抢购瞬间的压力波峰给拉平,抢购系统就是是防波堤汹涌的用户波涛冲击抢购系统,抢到资格的人名单传给商城,半小时后,商城再下单。我们最担心的是卖超!!不担心卖不出去。卖超了,会有愤怒的用户来抗议的。 底线思维必须树立底线思维的思想方法,对危机态势做最坏的准备,同时努力争取较好的结果我们最担心的是卖超!!不担心卖不出去。卖超了,会有愤怒的用户来抗议的。 底线思维必须树立底线思维的思想方法,对危机态势做最坏的准备,同时努力争取较好的结果我们最担心的是卖超!!不担心卖不出去。卖超了,会有愤怒的用户来抗议的。 底线思维必须树立底线思维的思想方法,对危机态势做最坏的准备,同时努力争取较好的结果这是做PPT时临时在ipad上画的,很接近最初设计时的样子。最初都是画在纸上,没有什么文档。其实当时也没那么冷静了没有什么高大上的技术,小米加步枪
本文档为【小米网秒杀系统设计经验与问题_ADC】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_728507
暂无简介~
格式:ppt
大小:2MB
软件:PowerPoint
页数:0
分类:互联网
上传时间:2017-08-01
浏览量:31