大麦网技术二三事

作者: 李陈忠 | 来源:发表于2017-10-22 20:56 被阅读12675次

杭州周杰伦2017年项目,大麦网抢票系统抢瘫了,据传阿里内部炸了锅,大麦在阿里序列里直接进入了被鄙视链的第一名,江湖上也是声名狼藉。作为大麦故人(大麦网前技术总监及初创团队核心),我已经是不止一次的在各种场合听到诸如“大麦网技术水平太烂了”、“大麦基本没什么技术含量”、“大麦的技术还处于旧石器时代”等评论。对于差评,系统宕机摆在眼前,也确实是无需辩驳;但作为大麦网初创团队核心成员与最有资格谈论大麦技术的成员之一,犹豫再三,还是决定聊一聊大麦网的一些技术往事,只为缅怀。

        我是2008年4月份加入的大麦,这是我第一份工作(如果不算大学时兼职的话,初中开玩Q-BASIC,上四年大学干了两年兼职,写了三四十万行代码,挑战杯大赛获奖者)。那时候还没有“大麦网”,只有“中国票务在线”。在某个阳光明媚的周末上午,我走进了东中街32号楼旁边的元嘉国际公寓821面试,这是一套loft的公寓。进门前我曾一度怀疑自己是不是进了传销窝点,怎么看也不像一家正规公司。我和我的面试官、日后的好哥们-王威聊得很投机,我们都喜欢技术,属于把技术当生活的那类人,并不觉得这是一份工作,而是既让自己玩、竟然还给钱的美事(玩中文分词、搜索引擎、元搜索…),出门时我已经决定要来这家公司了。2009年初我们在快速做死了旅游、机票、SNS、酒店、客栈、电影……等一系列产品后,最终决定把演出购票做深,打造一个电商模式的购票网站。对于决定去做这件事情也有点逗,我、王威做死了上述一系列产品之后,心情很沮丧,满满的挫败感,我们一起在东方银座停车场的花坛边上坐了一晚上,不说话、抽着烟、看着来来往往的人,抠着脚(不是我)。记不清后来怎么起的话题,总之最后把烟一丢,决定做个演出购票电商网站,然后第二天上班就开始开发,接下来就是满满的五年加班岁月,平均每天工作超过12小时,几乎没有周末和节假日,天天见识凌晨四点钟的北京街头。神马睡袋帐篷的Low爆了,我们是椅子上、会议桌上、台球桌下、办公司的角落地上……都睡遍了。大麦网站部分的整个技术体系我一手搭建(截止至2015年大麦重构前),同时我也是大麦用户库里的第2号用户(哈哈哈),2010年定岗技术总监,至2013年12月我离开前,大麦网历年历届的抢票准备及协同工作都是由我主持。2013之所以离开,是因为大数据刚刚兴起,我希望能够在大麦内启动大数据相关的事情,但是那会大家都看不懂,所以一直没得到支持,于是便放弃了大麦的期权离开,成为一家公司的技术合伙人,做了一些数据相关的业务(所以也沦为了大麦初创团队里唯一一个没有期权收益的成员)。

2008年元嘉821、大麦网开始的起点

        谈起大麦,大麦是一家闷头做事、行事低调的公司,大麦的技术团队也非常低调。我在大麦的6年时光里,我们从来没有在任何公众场合发过言说过事。实际上,在大麦网前期,由于硬件的投入很少,所以对技术的要求到了近乎苛刻的地步。2013年我离开前,对团队硬性要求是页面服务端执行耗时100毫秒算及格线(含选座、下单),每个页面上线前先压力测试看达标不达标,不达标全部打回继续优化。我们对代码的优化是先把代码注释成空页面,然后一行一行加代码,看执行耗时增加了多少去优化的。我曾逼着某同学连续加班了三个通宵,把业务页面从1秒多,优化到了300毫秒、继续优化到了100毫秒、60毫秒……(幸好不恨我~)。我们用4台服务器扛过几万人的疯狂抢票没有挂(2009李宇春演唱会),虽然系统反应慢了点,说起来都是泪……慢的原因之一是因为买的水晶头质量太差,其中一台服务器内网线的水晶头松了,流量全部走了外网……(虽然我们穷~但那会我们人穷志不短,妄图拿三五台服务器开始做一个改变几千万人购票体验的事情)

        大麦技术团队前期奉行的是工匠精神,有许多令我们骄傲的东西。或许是后续的传承出现了偏差。言归正传正传聊技术,本文不聊负载均衡、分表分库、SOA、缓存、CDN、云……等一系列满街跑的程序员不管实操没实操过,一张口都能侃几句的“大并发高负载解决方案”。时间、篇幅、精力都有限,也无法长篇大论,因此我会从几处细节切面入手,简单聊一聊。

01 在线选座核心技术

      在线选座,现在已经应用得非常普遍了,从演出到电影、到机票,被应用得炉火纯青。如果我没有记错的话,大麦应该是国内最早在线上对C用户提供在线选座的公司,第一个版本我们参考了TicketMaster ,09年李宇春第一次正式使用 。 当时是遥遥领先于国内任何一家公司的同类产品,后续竞友们也出了一系列同类产品,且投入的服务设备甚至比大麦还多 ,却无一例外没扛过抢票高并发。原因在于大麦的在线选座在一些技术细节上处理得非常好,甚至现有的大麦技术团队都并不清楚自己的系统是怎么做的。实际上大麦的技术方案还没有实施到极致,还有提升的空间。离开后我进一步思考了下可以采用以下方案:

      1、基于bit设计的座位数据传输协议

        注意,是Bit,不是Byte、不是JSON、不是XML。截至今日,我看了许多在线选座的产品,包括行业内所谓神级公司的,无一例外都在用JSON,最多做了个GZIP压缩。当然了,财大气粗可以拿服务器和网络带宽去扛,也是无可厚非的。压缩算法是通用算法,耗费服务器计算资源,在数据协议本身没有优化到极致情况下我是禁止使用的。大麦在线选座的第一个版本用的是JSON数据做座位图数据传输,一个场次座位数据量将近1MB,在打开选座的时候能看到进度条加载的明显痕迹,而后来新数据协议实施完成后根本看不到进度条加载,因为同等信息数据传输量已缩小到了1KB左右。不仅仅是数据量缩小了1000倍的事情,基础好的同学应该能看明白这意味着什么,1KB的报文比1MB的报文在IP数据分片传输上的性能和可靠性要高出多少。

        这里会牵涉到大量的位运算和数据类型基础知识,所以搞不懂long型数据64bit相比int型数据32bit意味着什么的小伙伴请绕行。

        1)文本协议换成非文本协议

          JSON等文本协议的优点在于简单直观,肉眼可见,好开发、好维护。但是有些关键场合追求极致还是非常有必要的。以一个数字“1234567890”为例,在JSON协议中它需要占用的字节数是:10byte=80bit,而用int型只有4byte=32bit,对于一个座位ID动不动10位数字以上的系统,光传输1000个座位ID有效数据量差别就是:(80-32)*1000=48000bit=6000byte 约等于6KB,再加上JSON格式里的“{”、“}”、“=”、"""、动辄五六个英文字符的“seatid”属性名……可想而知多了多少数据量。

        2)绝对值用相对值代替

        讲这条之前,我们先看则科幻小故事,我便是受了这个故事的启发:

        “一个外星人偶然来到了地球,觉得地球很有意思,想带资料回去。但是因为是偶然来的,自己的飞船不够大,不可能放下很多样本。于是外星人找到了一套大英百科全书,觉得这个很好,准备带回去。但是发现那还不行,因为那一套太多了,还是太重了。外星人就把字母全部用数字代替,于是外星人得到了一串长长的数字,通过飞船的计算机全部按照百科全书顺序排列好后准备带走,但是外星人又发现飞船上的计算机还要存储很多画面和视频,那串大英百科全书数字太长了,占了很多硬盘空间——我们假设外星技术也需要硬盘。那怎么办呢?外星人就测量了自己飞船精确的长度后,把飞船假设为1。又把那串长长的‘大英百科数字’按照小数点后的模式,参照飞船长度,在飞船外壳上某处刻了很小的一个点。于是外星人回去了,他只刻了一个点,却带走了大英百科全书。回去只要测量出飞船的长度,再找到那个点在飞船上的位置……”

      同一场演出的座位ID,一般是同一个数量级,比如第一个座位ID是“2010092012”,最后一个座位ID很可能是“2010093012”,在数据流里一大串“2010092012、2010092013、2010092014…2010093012”,我都感觉自己傻。那么,为何不记录下起始座位ID,后续所有座位ID都只记录与它的偏差值呢?于是就变成了“2010092012、1、2、3…1000”的形式,是不是连文本形式都看起来干净利落的减少了许多?不止于此,继续阅读下一条。

      3)无视既定的数值类型,按需配位

      用到位运算的时候到了。上面聊到long型和int型,long型数值64bit支持从-9223372036854775808~9223372036854775807范围的数字,int型数值32bit支持-2147483648~2147483647范围的数值,都别说上面第2)条提到的相对值数字了,就是用绝对值数字你家卖票卖到下辈子座位序号也超不出这个范围啊,更何况还用不着负数 T_T。一个区域1000个座位加载下来,偏差值最大超不过1024,只需要10bit的空间就足以存储单个座位ID了,既有数据类型ubyte占8bit最大值255不够用,ushort占16bit最大值65535太浪费,我们需要一个只占10bit的数值……OK,把int、long、byte、字节统统从脑子里抹掉吧,眼前是一串“0101010101……”到无限长的数据流,老老实实用">>"、"<<"左右移动着玩吧。

      4)座位状态2bit

          座位有多种状态,比如“可售”、“已售”、“锁定”等,直接跟在座位ID后面拿2bit搞定吧。。。00、01、10、11,还能再支持一个状态~

      5)一个座位4个坐标值减少到1个

      这个估计是最傻逼的设计了,因为选座的每个座位是需要在场馆背景里画出来的,因此需要有每个座位的坐标。问题是选择了四个点来确定一个座位……T_T,尼玛的座位都一样长宽,记录最左上角的一个坐标不就完事了么……

      2、说能卖的座位不一定能卖,说不能卖的座位一定不能卖

      热门演出抢票往往抢得血流成河,经常小一万张票放出去30秒就抢没了,没抢到的粉丝们网上骂声一片。不过话说系统都是我写的我这么多年竟然没能成功抢到一次票[痛哭]。流量高到平时120倍,先别提分表分库拿数据库集群顶的方案的,大麦那会还没有阿里爸爸,没有动不动拨几个亿先花着的待遇。有次我协调7台服务器协调得鼻青脸肿,有一台还是调拨了部署着邮件服务端的破机器。怎么办啊,总不能两手一摊说搞不定了吧。。。穷家穷当,继续想辙啊。

      座位数据在抢票那会是高实性数据,别指望在缓存里完成所有工作,出张重票你就哭去吧。琢磨来琢磨去想到一招可以解决:把所有座位状态预先同步到redis里(记住,一个座位一个坑),接下来对过来锁座的请求先访问缓存,缓存说能卖,不好意思不能相信你,穿透到后端数据库询问状态加锁座;缓存说不能卖,那铁定不能卖,不好意思您再抢其它座位去吧。。。

      此举可以让数据库压力瞬间下降好几个数量级。

      选座技术先聊到此,其它的部分都没什么难点,自行脑补。

      本文第四部分附有我做的并发数据分析,感兴趣的同学可以算算数,看看是多少带宽、多少服务器、支撑了多少并发。

02  热门项目抢票的技术准备工作

      当初我们在每次大项目前都会做非常精细的数据分析,对购票过程中系统的流程进行详细切分,评估业务过程中每个环节的并发压力 ,进行系统调优。以数据来评估和驱动系统准备工作,绝对不是粗放式地抱着上百台的服务器,算算服务器数差不多就洗洗睡去了。

      1、抢票活动CheckList

        从2009年起经历了很多大型项目的抢票,什么样的情况都经历过(譬如服务器松了个水晶头、机房出口带宽被流量怼死了服务器集体全部失联、正抢着票呢办公室突然断网等等许多人这辈子都碰不上的情况),总结了很多的经验,形成CheckList。每当有新热门项目时就拿出CheckList逐项检查看各项工作是否做到位。每场抢票活动结束后仔细总结,再往CheckList上补上几条。

        CheckList里的每一条背后,都有一场血的教训。举几个栗子来说吧:

        1)主要系统负责人配备3G上网卡:某次抢票活动进行中,办公室宽带挂了,大麦网直接失控裸奔……从此以后,抢票开始前都给主要的系统负责人配3G上网卡;

        2)CRM客服系统大查询操作进行限制:某次抢票活动进行中,某分公司一客服MM手一抖,点击了一下订单汇总,数据库直接宕了……从此以后,开抢前先把客服系统里牵涉到大查询的操作全关闭了;

        3)短信通道余额确认:某次抢票活动进行中,用户都没收到短信,因为短信通道钱用完了……

        4)大麦网上第三方图标及JS移除:某次抢票,一开票网页加载不完,一查页尾上挂着的某权威机构的JS直接被怼死了,资源等待中直至超时,导致大麦的页面加载不完(赤裸裸的躺枪啊尼玛痛哭流涕了)

          5)抢票前机房设备巡检:某次抢票,某台服务器的水晶头松了,数据流量全部走了外网系统超级慢……

          6)抢票时机房派人值守:某次抢票,机房突然失联,从哪都连接不进服务器,大麦网直接失控裸奔……

          满满的挂满了泪……

       

      2、系统流程及负载评估表

    我们会对系统流程详细分解后,预测各系统切面需要达到的负载量,反复优化与压力测试:

     


    3、应对项目时职责明确、分工清晰

    准备每一场项目,都如行军打仗。战场上最怕的是乱,在出现突发事宜时,调度有序、各司其职非常重要,是快速响应和故障处理的基础。我们会明确好各部分的分工与责任人。

   

      4、项目后总结分析

      没有总结就没有收获,失败不可怕,怕的是盲目的失败。因此每次项目结束后,需要会对系统负载参数进行仔细总结与分析。举个分析的栗子(水平好的同学可以算算数):

     

03  有的放矢,摸清硬伤

      谈系统优化,不能泛泛而谈,一张嘴不是一系列高大上的方案、就是现有的不堪到需要全部推翻重新全来一个理想中的完美架构。通常只有演化成功的系统,没有一开始就设计成功做得完美的系统。


鉴于篇幅有限,暂且就先分享到这里。

     


相关文章

  • 大麦网技术二三事

    杭州周杰伦2017年项目,大麦网抢票系统抢瘫了,据传阿里内部炸了锅,大麦在阿里序列里直接进入了被鄙视链的第一名,江...

  • 书稿-1.8开启加速成长模式

    我的加速成长模式的开启,要感谢一个人,他就是我第二家公司大麦网当时的技术总监——王威。 在大麦网,...

  • 声演传奇最顶级的视听飨宴--大麦网

    大麦网 大麦网是中国最大票务平台,华...

  • 大麦网&“口袋妖怪”用户信息泄露事件中,有哪些梗?

    近日,有网友微博曝称,其在票务网站大麦网的账号信息被盗,导致被假冒“大麦网客服”的行骗者忽悠转账,骗走现金。据大麦...

  • 网购二三事

    双11到来之际,很多的人都不约而同地选择大买特买,以达到清空购物车的目的,虽然在双11之前信誓旦旦说绝不乱买东西...

  • 网课二三事

    2020年春期的教学工作,因为新冠疫情的原因,转战到了网上。在近两个月的时间里,真真是有喜也有忧呀! 初遇网课 当...

  • 网购衣服二三事

    昨天我在网上买了两件上衣,等收到货时,试穿之后,才发现自己衣服码数是错了,可是衣服上的标签撕掉啦,想起了自己的衣服...

  • 网课二三事(11.3)

    这周的网课生活经历了比较大的变化。起初,俺啥也不会弄,只有手机上下载的开视频会议用的钉钉。可是孩子们才上一年级...

  • 你怎么就被骗了

    近日,有网友微博爆料称遭自称“大麦网工作人员”的电话诈骗,被骗走7.6万元。记者采访获悉,据大麦网统计,目前已有3...

  • Vue——绑定事件(大麦网示例)

    好看的网页千篇一律,有趣的代码万里挑一。 一起来看看比较经典的Vue案例,示例:大麦网。 1. 大麦网列表页 ...

网友评论

  • rhuanhuan:膜拜大神!
  • 心至靜行至遠:这就是程序员的较真劲儿,如果作为技术类文章毫无疑问会被当做大神备受众人摩拜,但是用户只关心体验,不管你什么原因!我觉得这篇文章是作者为捍卫大麦的技术尊严而写,他不是一个什么人都能踩上几脚的!毕竟你付出了青春和心血……
  • 8243d513f1b2:怎么回事自己心里有点数行吗?正经去看比赛的不是加载不出座位图,就是远了座位图提交不了订单,好不容易提交得了订单,又不能付款,一直繁忙繁忙繁忙,怎么回事你心里一点数没有??你们要觉得定价低可以提高,都给黄牛算怎么回事?你们改名黄牛网算了,十九大刚落幕一天就顶风上,一堆数据摆出来有毛用?票还给我,我两部手机,从早上十点一直刷到下午两点,恶不恶心?
  • c12ca697c2af:我就想问问 大麦网热门回复·!黄牛党自己说你们内部人员给票加价太多·他们才不得已卖的这么贵。是不是真的·!是不是你当初那么辛苦的工作都得到了【回报?】
  • 2bdbcf269d41:我个人觉得这和技术完全没关系,根本就是大麦网和黄牛里应外合,几万张票,愣是没人抢到,全在黄牛手里,吃相这么差?
  • 5e9ff3a0da36:你把大麦网的技术说的那么叼 为啥今天还是崩溃了
    李陈忠: @嘎嘎嘎的天使 对于今天“英雄联盟全球总决赛”抢票大麦网系统崩溃的事情:我2013年就离开大麦网了,现在已经是离开的第四个年头。之后购票系统也经历了几次改版。2017年3月21日,阿里巴巴集团收购了大麦网,目前大麦的技术团队是阿里坐镇指导。所以对于大麦网今日的崩溃事件,粗略看了一眼大麦的崩溃情况,站在技术优化的角度给出以下几点建议:
    1)查下资源服务器及其带宽(含cdn),300多kb的图片竟然加载到快10秒,拖慢了整个网页加载。
    2)明显的,广告管理系统、用户信息加载的接口已经最先宕机了,同时因为它们的宕机拖慢了整个网页的加载,建议优化。
  • T1ng4:今天买S7总决赛门票的时候,大麦网直接挂了
  • ChrisWF: 谈起大麦,大麦是一家闷头做事、行事低调的公司。
    大麦技术团队前期奉行的是工匠精神,有许多令我们骄傲的东西。或许是后续的传承出现了偏差。
  • ChrisWF:说句不好听的 现在的大麦网怕是早就没了初心 辜负了你这了
  • 0920f415197c:一个字一个字看下来,总结了就是,虽然我们技术水平烂,但我们很努力呀
  • 世界的一缕曙光:虽然不懂这方面的技术,但看起来不错的。不过在座位ID后面拼接状态来节省传输量这种做法我是不认同的。这样的数据太混乱了。
  • 李陈忠:对于今天“英雄联盟全球总决赛”抢票大麦网系统崩溃的事情:我2013年就离开大麦网了,现在已经是离开的第四个年头。之后购票系统也经历了几次改版。2017年3月21日,阿里巴巴集团收购了大麦网,目前大麦的技术团队是阿里坐镇指导。所以对于大麦网今日的崩溃事件,粗略看了一眼大麦的崩溃情况,站在技术优化的角度给出以下几点建议:
    1)查下资源服务器及其带宽(含cdn),300多kb的图片竟然加载到快10秒,拖慢了整个网页加载。
    2)明显的,广告管理系统、用户信息加载的接口已经最先宕机了,同时因为它们的宕机拖慢了整个网页的加载,建议优化。
  • 李陈忠:对于今天“英雄联盟全球总决赛”抢票大麦网的瘫痪事件:我2013年就离开大麦网了,现在已经是离开的第四个年头。之后购票系统也经历了几次改版。2017年3月21日,阿里巴巴集团收购了大麦网,目前大麦的技术团队是阿里坐镇指导。所以对于目前的奔溃事件,我也只能给出自己的优化建议。希望大家理解。
    丰子杨_:@李陈忠 你好,微博上面没有人晒买到票的,而一开始网上就有黄牛一叠叠票买,感觉不是技术的问题啊。
  • 上帝是个女孩丶:从头看到尾,膜拜大神。满满的回忆。同时在想,大麦网为什么不租用临时服务器呢?抢票的时候带宽暴涨,那为什么不临时启动分流方案,开启云服务呢?
  • 萤火之森ss:黄牛网今天已经GG
  • 饱醉豚吔屎啦你:不管什么借口,从今天起,从S7鸟巢的票开始,大麦网及已经被数千万游戏玩家喷死。
    李陈忠: @于大洋呗 我2013年就离开大麦网了,现在已经是离开的第四个年头。之后购票系统也经历了几次改版。2017年3月21日,阿里巴巴集团收购了大麦网,目前大麦的技术团队是阿里坐镇指导。所以对于目前的奔溃事件,我也只能给出自己的优化建议
  • 劉小江:看着很牛逼的样子,虽然不懂
  • 53d3cd22f4d8:不得不说 为什么不实名制购票
  • jon_ly:一旦碰到峰值高的活动就挂掉,说明架构还是不行,或者压测没有做到位,再吐槽一句,手机app也是烂,热门票抢不到到就算了,冷门的话剧票座位图都加载不出来,真是搞不懂
  • 僦匴穤弜竾婹徦装坚强:s7总决赛门票被黄牛炒到13000了
  • 衲谁谁:看完了 自己好缺这些实战经验 想想蛮难过的
  • 回不去的温柔:大麦网技术好不好不做评判,我作为一个大学生只能叹为观止,但是他真的是黄牛网,买个s7票就这么费劲。
  • MMoooooon:非常接地气的文章,传输协议干货满满。

    本文不聊负载均衡、分表分库、SOA、缓存、CDN、云……等一系列满街跑的程序员不管实操没实操过,一张口都能侃几句的“大并发高负载解决方案” 这部分也非常同意了
  • EveMemo:仰视!
  • taobao:赞,细节优化的很足。在云服务横行的当下,适合多堆硬件
  • 更别说吧:性能测试帖子 值得收藏 学习了 不摸loadrunner 有一段时间了
  • justZero:用户不会管产品的技术难度,也不该去讲给用户听,系统瘫了就是瘫了。
    justZero: @justZero 但还是点个赞,因为我是搞技术的~233
  • dd2d1cbacbb7:我只想s7的北京总决赛的票怎么在大麦上买?
    上帝是个女孩丶:那你来说个别的地方,不挂的?
    dd2d1cbacbb7: @oulaija 尴尬,我脑子瓦特了,明天才开始出售
    3d8ec11cdb8e:@一直爱吃辣条 哈哈
  • 4bc973e9926f:不懂技术的 你说了也是白说
  • 流川枫AI:写的挺好的,讲了一些书本上你学不到的知识
  • 叮宕:是Bit,不是Byte、不是JSON、不是XML。确实惊到了,1000多个座位数据量将近1MB,那意味着一个座位的数据量接近1k,为什么这么大?
    mylovefan:@叮宕 科幻小说《间谍斗智》中有一个情节引用过这个思路
    叮宕:@李陈忠 表征状态转移,只要是实现状态的转移就行,没有规定必须用json还是xml,甚至是bit都行。通用json就像你说的,它有利于表达弥补了无状态的缺陷,且大小还行。像你们这么抠的,真的是第一次见:)有种用wireshark抓包,读数据的感觉,这一位代表什么,那一位代表什么。
    那个故事很有启发,同时对于外星人测量精确感到了赞叹,毕竟是外星人!
    李陈忠: @叮宕 第一版把库里的字段不论有用没用全导出来了哈哈哈
  • 啤酒是你丶:登录上来只想说一句,大麦网不是和黄牛勾结就是自己是黄牛
  • uncochen:大麦网技术我不知道,运营是蛮差的
  • a683c59f67c7:那么您怎么看现在坊间都在传的大麦的票都在黄牛手里的事情呢?经大麦的票,现场都坐不满,但是正常观众就是买不到票,大麦真的这么干的吗
    李陈忠: @Rem_aa8b 这个问题还是蛮复杂的
  • 小坑_97f6:所以你拿了一堆我看不懂的表格,想表达什么,做的烂就是烂,谁管你怎么做的,你花了几百块钱吃顿饭,结果给你上了猪食一样的菜,你还要说厨师也幸苦,就在那埋头苦干?不要说软件是免费的,没赚用户的钱,搞得好像离开用户你们就能赚钱似的。
    小坑_97f6:@剩下爱睡觉 我要是喷子就不说这么多了,我只是说点现实的东西。做产品本来就是这样,如果问题需要用户买单,还能有什么好产品。挑剔才能做出好产品
    15d97ef1c596:WN喷子:-1:
    李陈忠: @小坑_97f6 这个您得去找大麦哦,第一这篇文章只聊技术;第二我已经离开大麦很多年了,一切都与我没有关系。对我而言写这篇文章只是追忆一下过往。
  • 也一:文中讲到的 在线选座 的优化技术;
    现在刚出来的程序员好像关注的会的都很少了,能做优化的也很少了:confounded:
    “大麦的技术还处于旧石器时代” 这个结论不知道是不是说的这个呢?
  • DR政:在我的印象里 大麦网就是黄牛网
    79ca7896b2e8:@DR政 大麦网的运营不怎么样
    Mr_悟空:S7 票完全买不到
  • Oo晨晨oO:感觉豁然开朗! 感觉自己以前做的都low爆了
  • 田肥牛瘦:水晶头松了。。。

本文标题:大麦网技术二三事

本文链接:https://www.haomeiwen.com/subject/odcwuxtx.html