究竟如何才能成功运维一个过亿的微博话题,在12月17-18日的第33届MPD暨中兴高效研发工作坊上,前新浪微博系统架构师饶琛琳接受了专访,详细分享了运维过亿微博话题的幕后准备工作。
本届MPD工作坊,是由麦思博(msup)有限公司和中兴技术规划部、中兴IT技术学院、公司级研发CoP、中兴开发者社区联合主办。两天时间里,工作坊深度探讨了当下软件开发的“新趋势”与“新实践”,以“沉浸式”学习的方式,让参会者之间互相交流意见、激荡脑力、共同进步。
麦思博联手中兴,就是为了搭建一个技术交流平台,可以让中兴的技术管理者与外部的技术专家就研发技术与管理方面的新技术、新实践进行交流、切磋,一起为ICT行业的发展共享和积累研发能力。作为前新浪微博的系统架构师,饶琛琳分享了《新浪微博移动端 SRE 团队如何一步步实现全年无故障》的主题内容。
时刻准备好扩容和降级手段
在话题管理上,对于那些名人明星提前打过招呼的,微博运维团队并不担心。最怕的就是那些突发事件。
饶琛琳拿文章、王宝强事件举例。对于这些无法预料的事件,一般的操作手法是,首先运维好监控系统里最容易被影响的部分,也就是后端数据库。这个时候就需要包括接口端、数据库端和后端的运维人员联动起来,形成一个紧急响应机制。“(因为)不单单是你扩容就OK了,因为你扩容了,增强了数据量,但你这个是需要反馈到后端的。这是一个联动的(过程)。就是你干了什么别人也要知道,别人干了什么你也要知道。”
即便有预备的联动响应机制,新浪微博历史上也有过无数次的爆仓(话题参与人数超过网络限制)。饶琛琳甚至表示,“在之前两年,基本上是有发(突发事件)就会爆。”
但微博这边也并没有为此事先预定过话题参与人数。按照饶琛琳的说法,并不是说突发事件一来,微博就要扩容。运维团队还是要根据话题的成长情况来具体对待。
因为每发生一次爆仓问题,微博运维团队就会及时打开监控系统,看什么时候,因为什么原因达到了新的阈值,然后有针对性的进行扩容或者降级,不断优化监控系统。
现在这两年微博这方面的情况已经好了很多,“就前段时间王宝强马蓉那个事,最后的人数是,我们扩容了但是没降级。之前是只要有,我们一定要降级的。这就是一个系统优化的过程。”
在VR等新终端上,运维工作可能会更费脑
跟PC时代相比,移动端能采集到的数据丰富了很多。毕竟,PC端上,浏览器、操作系统都不是由微博自己写的,拿到的数据只能是最外层的东西。而在APP上,页面、图片都可以自己来顶,数据收集的节点数大幅提升。
在新的诸如VR等终端上,饶琛琳认为运维工作可能需要人员付出更多的脑力劳动,对数据进行深度的分析。
他表示,在以VR为代表的物联网时代,人们处理的数据来源可能会增多,但对应每个设备的数据量级反而会减少。“因为这些穿戴设备,它不像PC、手机,其实都主要是走无线网的。无线传输网的带宽,比家里路由器的带宽要小很多。所以很多数据是不敢往上传的。”而通常的做法是,先在自己内部处理一遍,然后再公示出来。
这给运维带来的影响就是,从设备端收集的数据都已经是有用的东西了,运维人员就需要对数据进行深加工,以前那种采集上来就扔给开发人员自己看的模式开始行不通了。简言之,运维工作在信息处理上更费脑了,未来可能不但是开发人员要招那些技术系的,做运维也需要懂技术的来搞了。
机器解决相关性数据分析 人主要完成因果性判断
谈及现在火热的人工智能(AI),运维会不会逐步被机器学习取代。饶琛琳并不觉得乐观。他表示,当前的机器学习,主要用来处理数据、事件之间的相关性,而寻找因果性的工作还得交给人来完成。
举个例子, 在一天产生的一千条信息中,机器可能会分析出有三条是重要的,但它很难对这三条信息进行进一步的修改和处理。
从新浪微博离职后,饶琛琳今年加入了日志易任产品总监。继续做数据分析和处理的工作,来完成机器尚无法完成的内容判断。