超级访谈:对话毕玄_09_03淘宝HSF能让淘宝出重大故障的就那批人
你好,我是叶谦。
上一讲呢,我们聊到毕璇,他加入互联网公司的经历,嗯,给冲刺上市的彩排网站去写信系统。
但是因为自己不会,c语言,也比不过腾讯的那拨人,他迫不得已呢成为了一名DBA.但是因为突然的规定,上市无望之后,他也走了。
但是后面发生的事情啊,说实话,我只能说很神奇。
就在他准备找新工作的时候呢,在没有写简历,也没有主动面试的情况下,居然又有一个橄榄枝,神奇的伸了过来。
然后在一场很神奇的面试之后,他进了淘宝。
但是呢第一个项目就差点神奇的把淘宝给搞挂了。
那到底发生了什么呢?我们马上开聊,所以你是零七年年底就去阿里了。
那当时你是怎么进去呃,也是博客啊,我到上海工作是因为写博客,然后换到阿里,很大原因也是这个嗯当时我在网上写了OSGI那份文档open duck,那个时候很流行开放性的文档哈,呃那个影响力应该挺大。
你是写了多久一点点积累的?嗯,前前后后可能有个半年多半年多,就写的那篇。
对,就写那篇东西。
那写了之后,技术圈的关注确实是比较大。
嗯,啊最早我们觉得产品化的基础可能是基于OSGI做。
因为eclapse那个时候已经是java的垄断IDE了。
Ec clapse的底层呢是OSGI.那当时eclapse把OSGA把插件化的整个体系呢讲的呃,如果你听一下思想都会觉得太完美了,而且展示的相当于是有了落地。
嗯,那还不光是一个概念啊,所以大家都觉得哇这是革命性的。
嗯,那基于这个抽象有可能做成一个产品,只是说后来论证了一些东西,不是这样。
那所以当时eclapo SGA在国内的关注度非常大,加上又没有这个文章啊,我写了第一个很多人呢就可能因为这个指导了我啊,所以那个你说的eclipse,他那个思想到底是什么?呃,从业务上讲啊,以前做整套系统想做成产品,嗯,那产品化的核心思路呢是复用。
但是你不大可能把所有东西都做了,那最好的方式肯定是插件AB.如果有不同的需求,我做个插件插在原来上面做扩展就好了啊。
呃,eclapse呢是完全基于插件体系的在里面。
如果一个功能没有你你去装一个插件就有了,然后插件还可以扩展,你跟别人想的不一样,那就改一下代码就可以了,那还可以只用改部分。
嗯嗯,我们觉得呢这是一个完美的思路啊,把很复杂的东西给抽象掉,做插件去做扩展。
其实到今天为止啊,所有的扩展型的系统依然是这么去构建的。
只不过这个OSGI可能太复杂了。
他的思想呢其实是被用在了所有的系统上。
那现在想去产品化的公司,面对复杂系统还是插件扩展点的套路啊,所以你们当时看你们当时会觉得这个方向是有可能的。
哎,对,就是eclapse也给我们展现了一个完美的实践,所以我们觉得应该研究下来。
嗯,然后我也比较感兴趣嘛,也觉得这个东西应该就是解药灵丹妙药啊。
嗯,中国又没有资料就自己看研究了。
再加上呢我也确实是比较写文章啊,写上瘾了,就那篇非常长的文章啊,所以你写出影响力之后,是怎么去淘宝的被联系过去的。
呃,写完之后呢,有个人叫曹小刚啊,他做了一个网站叫满江红。
以前很多人会用啊,也包括我们这个搞java,那帮人那那篇文档呢是放在了网站上。
可能中国学习OSGI的人都看过的,所以我跟小刚就非常熟了。
当时也是比较凑巧哈,就是刚好我准备找工作的时候,小刚就问我,嗯,你要不要考虑一下淘宝?因为那个时候他的一个朋友刚加入淘宝,那个朋友就是斐星。
因为匪青在中国的这个朋友啊比较少,很幸运的小刚就是他的其中一个。
那匪青当时还在招人嘛,也招不到别人,就问小刚啊,能不能推荐几个,就这样我就被推荐了淘宝了。
所以感觉这次也挺赶巧的对,然后我就到这个杭州面试。
说实话那个时候我们不觉得淘宝名声很大,虽然有一定的名声啊,因为他刚打败了ebay,那听肯定都听过,但觉得好像也没啥出名的是老马。
嗯,因为马云在前一年上的这个创业的项目啊,那我那个节目里风格非常犀利,圈粉无数啊,那我觉得很好啊,就到淘宝去面试,所以你面试之后就顺利进去了。
没有没有进淘宝,很狗血的。
就是当时小刚还问我面的咋样,我说哎不错不咋样,就面我的第一个人是黄商啊,淘宝一个比较老的工程师,现在是蘑菇街的联合创始人,黄商是第一轮,北京是第二轮啊,第三轮是马玉。
那个时候黄商问我很多的问题我都不知道,飞去问我很多问题我也也不知道啊,马玉问我的时候呢,我就更懵。
因为他是带搜索团队的,问很多算法算法我不懂,然后他让我知道题啊,我也没做出来啊。
后来我就说呃你们到底是怎么让我通过这个面试的?嗯,啊但最后很神奇的就是等面试结束的时候,马玉居然问我要不要考虑一下加入他们的团队,我都震惊了。
我说我是来面飞星的团队,然后马玉说你要不要来我们这儿?你当时我想啊我题都没做出来,你们让我加入啊,这是这是什么团队啊,所以这个是很搞笑。
最后呢是这个当时淘宝的整个软建技术部的老大文文面啊。
嗯文文说你前年不是做数据库嘛,现在为什么面java工程师啊?空文简直振兴了,反正很神奇,我就这么就加淘宝了。
呃,所以到底是怎么通过面试的,就是时机吗?呃,后来我们一般当时加入的人都开玩笑说哈,就呃淘宝当时估计是只要你投简历啊,就会招你根本就没有什么面试流程啊,就是个形式。
因为呃零七年愿意来淘宝人非常少,就包括我们去这个校招啊,淘宝绝对是阿里集团最后一个被选择的那到后来呢我们才有了很多的要求啊,像淘宝是零九年经历的这个大规模的发展,对整个架构是做了个眼进,那就会有很多的要求。
比如说呃希望你做过大型的系统,那这我们零七能源进来的这批人就废了,应该是进不了淘宝的,会被碾压啊,做做大大型系统没见过,并发量上十万的都没见过。
更别后来呢其他非常非常多的要求。
嗯,那阿里后来招的人,实践的那些经验简直能够亮瞎眼本科就已经非常厉害了,不用像说的那些硕士博士了。
但是在阿里很正常,但是对你来说除了运气,我觉得应该也有你之前写那篇OSGI文章的原因吧,应该有。
后来我跟黄商他们都说呃,你们招我八成是因为OSGI吧。
嗯,因为他们面试问的这个很多跟淘宝当时用的整个技术体系相关,淘宝当时又要做这个服务的,他们觉得呃这些是你不懂,但OSGI你懂啊,那但是问那个他们就不知道回答怎么样,因为说实话对呃我答的对还是不对,他们也不知道,对吧?只是觉得你有一个点是非常专业的,所以也可以。
那肯定不是,因为我对淘宝多了解,所以你进了淘宝之后,应该就开始做HSS那个。
嗯,对,因为OSGI是一个偏服务化的东西,那淘宝当年最重要策略就是做服务化的架构演进。
嗯,那只有我是有这个背景的,所以进来之后呢,我就很自然的负责做这个东西了。
嗯,但问题是我也没做过,其实就是我们那帮人都没有做过大规模的系统。
我当时面临的第一个问题是技术选型,但我们根本就不懂这个大型系统的这个技术选型挑战是非常大的。
嗯,以前我做这个政府啊,你说实话就随便选就好了,更多的是看功能。
但是互联网更多的是看性能功能,对互联网来讲一点都不重要,越少越好。
但是性能是核心,所以我进来的第一个技术选型后面就是一个巨大的问题。
我们做HSF,第一个要选的是通信框架。
嗯,那淘宝最早是web logic,那飞行进来之后换成了JB boss.我进来之后呢,因为飞行用的是JF boss,所以呢也决定用JA boss的通信框架啊,把JJ boss老版本升级成新版本啊,现在再把这个通信也基于j boss来做啊,这就是我们以前的选型啊。
对,感觉这没啥选型啊。
哎,对,就是所以后来我们会不断的去教育新人,不要瞎来啊,有非常严格的规定。
但是以前的互联网可能大家都不懂啊,所以你们当时就按这个方案去选。
对我们做了第一个版本的上限啊,这是我面对的第一个大规模系统。
嗯,日军的访问量是两百万,我以前做的十万不到,一下子直接两百万。
那个时候呢,所有人都会告诉你啊,作为一个网站访问量,十万、一百万、一千万、一个亿、十个亿啊,是不一样的。
但是没有人告诉你到底哪里不一样。
因为当时中国没有圈子就很窄啊,就是国外啊有很多那q come.以前在国外的大会有很多的互联网公司讲他们的技术,对啊非常适合中国做互联网那帮人。
嗯,那这点必须说啊,是q come,真的是打开了这个中国交流的圈子啊,所以我们以前都是看国外的东西,那你上线是就出问题了吗?没有,当时上线其实很正常。
所以我就突然间觉得完全感觉不到你们吹嘘的到底有多难嘛,你们到底是不是在忽悠我,对不对?我就信心爆棚啊,决定哎呀,我不要上那么不重要。
系统因为当时上了系统,是给阿里的客服小二用的出问题相对还好,我们就决定啊直接上阿里最重要系统交易系统。
当时交易系统是多大量级啊?当时交易系统日均的访问量大概是一个亿左右,嗯,相当于是从一两百万直接干到一个亿,嗯,对吧?结果上线当天就出问题了。
因为当时发布的时候,大家都去千岛湖outing了,就剩我和黄商两人。
嗯,啊因为大家觉得应该也不会有什么问题,那就留下你俩发布吧。
嗯,那时候发系统都是半夜不是白天哈,所以我俩半夜去开始发系统啊,发完之后就回去睡觉了。
一大早呢我就接到了这个监控的电话,说整个淘宝现在很诡异,但是说不出来那里诡异,好像就不像平时的一点啊,就这个描述。
那然后呢,然后你们就去公司查问题了,当年就不像现在处理故障,有一套专业的流程,而且要求反应就非常非常快哈。
当时我们都觉得无所谓啊,我和黄商就去公司查,那从早上查到了晚上。
那所以后来我们在内部分享的时候都说,哎呦,按我们当年这个处理故障的状态,都被阿里开除无数次了。
嗯,所以你现在就必立立刻回滚。
那当时我们们俩就觉得啊就不要回滚啊,实际上我们查一下问题来说这么自信。
就关键是我们从早上啊查到晚上都没有查出问题在哪。
嗯,但是晚上的时候就已经非常严重了,淘宝已经快打不开了啊,支付宝那边已经快挂了,我俩也扛不住了,才就是八成就是HSF嘛。
就是虽然业务的代码也改了,但是换的核心就是这。
所以呢我们就把HSF呢回滚掉了,换成原来的方式,一切就恢复了啊,然后然后你就被拒了啊,这就不用说嘛,就压力非常大呀。
嗯,那个时候我入职四个月刚过试用期,嗯,有转正吗?已经转正了,但也是压力很大,毕竟是出了很严重的问题,而且就我一个人做这个系统,呃,我就开始下来,仔细回顾着整个系统啊慢慢查。
但是因为已经回滚了,也不纠结啥了。
后来我们就发现呃,只是一行代码,只是一行代码的问题。
那你们当时查了多久,可能是查了有一两个星期吧,两个星期不会,就是心态上很焦虑这种吗?心态倒是还好,我可能觉得呃不管怎么样,反正先查出问题,其他的后面再说。
而且不至于说我出了这个故障就被开掉了,这飞行肯定还会给我机会的。
但下一次压力啊可能就真的很大了,因为下一次说实话是不能出问题的。
嗯,啊再出问题啊,我自己也就不好意思再待下去了。
所以就这个情况来说的话,你是属于那种比较冷静的,我觉得看开就好了。
因为我们后来发现啊,有些人会想太多,比如说做一件事儿,你就要想我要通过这个事情去获得什么。
那八成就是会做的乱七八糟,那出了故障就会想,哎,会不会被处罚呀?对晋升奖金有没有影响?老想这些,那肯定没办法做了。
这如果你什么都不想先搞定它啊,剩下的事情的等搞定了,那再想也不迟。
而且关键是你现在想也没有用,你想不会改变任何的东西,所以就先安心干好你的活不就好了啊,那你这种心态会跟你,比如说你之前做很多项目,那种坎坷经历有关吗?呃,那我高中啊可能就是因为呃我高中考大学不就是重大挫折嘛。
嗯,因为我们高中是全省能排前几的,尤其我那个班可以说是超级重点班,嗯,只要能够进那个班,基本上都能上重点大学。
当时我们每届都有奥赛金牌之类的,上一届,还有这个省状元,但我已经就是觉得这是一个可以接受的问题了。
因为因为我中考的时候,进我们班是正数第八,但是高中第一次考试我就已经是二十几名。
但是你二十几名之后,你说是接受,不是说不行,我得找个全省。
呃,你当然会努力。
但是努力个一两次之后啊,你就会会发现你得接受。
嗯,啊因为我有几个好朋友成绩非常好,但是他们一点都不努力了,根本不读书,上课听一下,下课从来都在玩游戏,但是考试呢每次都能考前几名,所以我说这是接受,很多人可能接受不了,觉得好像很怎么样。
就像我的好朋友哈他高中一直是考第一名。
嗯,那高考时候呢,全校都在看他有没有机会得这个省状元。
嗯,啊最后他好像稍微有点失常,但应该是嗯全省前十就去清华了。
后来呢我去清华找他聊天,他说他终于懂了,我们高中的时候是多么痛苦啊,所以所以就是他感觉那个地儿是在后面是吧?对,是因为他就是进清华嘛,然后第一次考试就是班上的最后十名啊。
他一看别人成绩那么好,就就变得非常努力。
嗯,每天早上七点就去图书馆学习,一直学到晚上。
但即使是这样的,他也一直是在厚耳生明,所以他也是需要接受,对他就接受了。
因为当他看到就是前几名也是那样,跟他高中一样,也不怎么读书啊,所以说是心态。
以前我们总说是但行好事,莫问前程。
当然面对重大问题的时候,有另外抗压性的问题,但是抗压是很难训练的。
我总不能说给你造个故障啊,这对公司影响太大了。
嗯,当然怎么训练?面对这种重大问题,一个人的反应是什么啊?当然阿里后来有很多的故障演练,你也不知道那个故障是真的还是假的啊,会故意出现一些真假混合啊,就看你的反应,我们确实会发现不是所有人都适合的。
嗯,那有没有人会因为这个事情离开了,这种也会有,但不多。
因为说实话真正要面对这种压力的人,嗯,是不是人的很少。
比如说如果能够让你去做这么大的系统,应该是经过检验的这种。
对,就是少。
你说对了,就是真正的让这个淘宝整个网站出严重故障的人啊,说实话也就那批人,那那批人呢很多都能接受。
是因为觉得啊就算出了故障,然后被开掉了,那又怎么样呢?我还是能够找一个工作,而且都不会差,那就会觉得无所谓了,有啥好纠结的啊。
说实话很多人担心呢还是因为不够自信,害怕呢。
如果被开掉,然后可能就怎么样怎么样了。
但是不害怕的呢,都是那批大不了就开掉啊,这就是最差的结果,那这我都能接受,那我还怕什么?嗯,那现在呢就是说能够让淘宝出重大故障的这种人,呃,现在就不好说了,因为公司大了,出了故障的影响面就不一样了。
嗯,你现在出故障可能是真的会受到一些处罚,但以前是没有处罚的。
以前尽管是号称有,但也不会有多严重。
那因为我们确实被处罚过哈,包括绩效等等会受影响。
那反正大家都还是看得开,嗯,到这里今天的论谈就暂时结束了。
主要聊的是必选进阿里之后的经历,以及他第一次负责大量级的系统的时候啊发生的故事。
这里呢我简单列了几点讨论的话题。
当然了,如果你有其他更想聊的呢,也非常欢迎留言。
第一个是呃关于OSCI的插件化思路,你是怎么理解的啊,你有在哪些系统中感受到这种数据思路吗?第二个是工作中你出现过严重的故障吗?影响如何呢?当时你自己是怎么处理的呢?关于留言参与讨论,留言区是匿名的,所以欢迎自爆,也欢迎马赛克别人的人名报别人的了。
毕竟夺了不多众乐了嘛,让大家一起为欢迎你们见。
那有关碧玄做HSF的复盘呢,我们后面会单独开一讲,聊一聊他对程序员怎么做城市的经验总结。
有兴趣的话也欢迎期待。
下一讲呢我们会继续碧玄在淘宝的经历啊,下一讲见拜拜。