论文部分内容阅读
在除夕夜里,天上掉红包的机会可是遍地都是:除夕夜当晚摇一摇总次数110亿次,峰值1400万次每秒,8.1亿次每分钟,微信红包在除夕夜当晚收发总数达10.1亿次,零时至零时两分之间,每分钟有55万个红包被发出,165万个红包被拆开!这些红包中有多少钱?仅仅是春晚摇红包的总金额就高达5亿元!据坊间流传,有位深圳朋友一晚上收微信红包收到了69478.31元!笔者一点儿也不嫉妒他,笔者恨他!不过,红包铺天盖地袭来的除夕夜,却是很多人的不眠夜。
微信红包:抢得到靠的是“立体”支撑
在除夕夜微信摇(抢)红包活动的过程中,微信红包联合团队承受了巨大的压力,彻夜未眠的熊猫眼是他们在农历大年初一合影中的“标配”。虽然在几个月之前就已经开始对微信红包活动开始“压测(模拟真实负载的压力测试)”,但除夕夜当天紧绷的神经并没有因此而松懈。与他们一同站在系统数据监控屏幕前的还有许多不同团队,微信摇(抢)红包活动的成功运行,依靠的不仅仅是鹅厂的微信团队,还有与之相关联的多个不同领域的技术团队。
微信红包活动完全基于互联网数据流量,在3G、4G逐渐普及的当下,电信运营们在春节时最头疼的事情之一就是数据流量的激增。这一激增的幅度与几年前流行短信拜年时已不可同日而语,不仅数据流量规模更大,而且请求次数远超短信时期(想象一下有多少人在摇/抢红包,这总共会给后端带来多么庞大的请求数)。除夕夜当晚,各大运营商的数据业务运维支撑团队在面对微信红包庞大的数据流量和请求数之外,还面对了143亿次微信信息发送/接收和2.6亿次微信朋友圈发布量,相信这也创下了纪录。
财付通技术团队同样彻夜未眠,无论是微信红包还是QQ红包,背后均是财付通提供的底层支付系统。每一个红包所涉及的“塞钱进红包”或是“充值”“提现”等操作,均是由财付通的在线支付系统所支持的。没有财付通,微信作为一款社交软件就不可能打通与银行的提(请)款或存款流程,红包里的真金白银自然也就成了无稽之谈。
致那张没几个人看到的图片:云计算是幕后功臣
凡事总有出错的可能,微信红包活动也不例外,所以,微信红包联合团队中某些脑洞大开的技术人员提前准备了一张意寓“服务器挂了”的静态图片——一挂鞭炮下面悬着一台服务器,用来在微信红包“挂了(服务器崩溃、系统无响应等意外情况)”的情况下向微信用户“卖(Qiu)萌(Rao)”。只是可惜,今年能够看到这张图的微信用户其实并不算多,记得把它存下来的人就更少了。
在除夕夜当天,据说腾讯大厦17楼的整个技术团队被留下来待命,他们的主要工作就是为了防止服务器崩溃。与淘宝天猫(支付宝)所面临的“双十一”挑战类似,微信红包活动也是一个短时间内高并发量的互联网电子商务活动,后台服务器所面临的负载有时候瞬间会飙升数十倍。
但一年只有一个除夕夜,也只有一个“双十一”,平时支持日常运维的服务器数量不可能按这个数量级来配备。这就是云计算技术的重要性,一方面保障短时间内资源可以被快速聚合并可用;一方面保证资源可以在非特殊时期将资源分配到其他业务上去。
无论是微信红包还是“双十一”,利用云计算、虚拟化技术,动态调配虚拟的、云化的计算、存储和网络资源,是后台技术团队的必备技术。这一工作甚至在在前期压力测试时就已经开始。除夕夜前微信团队做了多次内测和至少三次外部测试——每一次都需要临时调配规模庞大的服务器集群进行模拟的高并发负载测试。
最早面对这一问题的是淘宝的“双十一”,当时阿里巴巴技术团队的服务器上线靠的还是“人力”,由工作人员手工在数据中心机柜内上线新的服务器,但随着阿里巴巴云计算技术方面的发展,现在面对突发的高并发业务负载,他们所调配的资源已经是阿里云的计算、存储、网络等“虚拟(云计算)资源”,而不是笨重的物理服务器。
鹅厂竟然允许卡顿?火爆活动的设计准则
略显遗憾的是,虽然看到“服务器挂了”图的微信用户少之又少,但还是有人看到并且把这张图保存下来了。这就说明,微信(红包)的服务器还是出现过无法响应用户请求的情况。据不少微信用户反应,在除夕夜晚八点前几分钟,微信红包支付功能、微信群消息以及其他多项微信服务都无法使用,红包无法发出、群聊消息接收不到、抢到的红包不能到账等等问题还是出现了。直到晚上8点20分左右才开始逐步恢复正常,微信信息加载和微信红包支付功能虽然略有卡顿,但已经基本上处在可用状态。大量的媒体报道也佐证了这一事实。
这就要谈到微信后台技术支撑体系中占有重要地位的“海量服务之道2.0”体系了。从2014年的滴滴打车到2015年的微信红包,真正支撑起后台运营的幕后英雄就是这一技术体系,其中三大价值观:有损服务、云中成长、数据银行中的第一个“有损服务”,正是出现上述卡顿的核心原因。
首先我们引用腾讯内部的“腾讯大讲堂”的介绍来描述一下所谓“有损服务”的诱因:2015年不是第一年的微信红包活动,但摇红包却是第一次,这一活动对业务量来说是一个极大的爆发,光是除夕10:30送出的一波红包就达到了1.2亿个,已经是2014年除夕夜峰值的400倍之巨(2014年峰值每分钟被拆开红包数量仅2.5万个)!
大量用户在同一时间摇红包,瞬间产生每秒千万级的请求,这个量级的请求如果不加以疏导处理直接到达后台,必定会导致后端服务过载甚至崩溃。微信红包联合团队除夕夜当天后台监控数据曲线便能说明一切——在前台重重的分流减压下,后台服务器负载仍然瞬间飙升十倍以上。
“小损而谋大局”正是有损服务的核心,它的目的是通过选择性牺牲一部分数据一致性和完整性,从而保证核心功能绝大多数运行。这是腾讯在PC时代积累下来的一种特色运营策略——在资源一定的前提下,量力而为,满足用户的核心需求。也就是说,在微信用户可接受的范围内,牺牲掉一定的复杂操作步骤,简化后台操作流程,从而在短时间内加快微信红包的发放速度。
另一方面,通过“服务器挂了”(脑洞大开)图、“休息一会·稍后再摇”(合家欢)图作为预埋策略,在系统过载时向用户做出相应提示,避免用户重复提出请求,而降低群聊的信息推送频度,是微信红包的过载保护措施之一。这个问题怎么说呢?偶尔出现一些小错误,减少一些冗余的安全措施,时不常看几张充满温情的图片,从而保证一整个春节假期的微信红包活动,总比在除夕夜一开始就把微信服务器刷爆了要好得多吧?
搭车微信红包做营销
说了好多微信红包活动的技术支撑,终于到了此篇文章最有趣的话(cao)题(dian)了,那就是服务器厂商也是醉了,很多颇为有趣的厂商借用微信红包活动搭车宣传。事实上,在除夕当天白天,就已经有不少服务器厂商开始搭车宣传,指出腾讯微信、微信红包活动的支持后台是由自家的服务器所支撑的,“良好地保证了微信运营”、“高性能稳定运营支持微信红包活动”……诸如此类的宣传已经铺天盖地了。可惜,除夕夜当晚,在那句著名的“重点是,服务器抗住了!”还是没说出口。
读了上文的读者们还会明白,微信服务器能不能扛得住,很大程度上在于微信有损服务的分流策略,以及腾讯海量服务之道2.0技术支撑体系(包括大系统云做、小工具大做、全网调度、柔性可用等方法论)所发挥的重要作用,在除夕夜当天虽然前端接受到的并发量在百万乃至千万,“(经过)在客户端、接入层层减压、过滤,最终仅把十万级压力传递到后台”。但这还不是最有趣的,在笔者的朋友圈,同一时间“搭车”的不止一家服务器厂商,甚至不止一家UPS、不止一家网络、不止一家数据中心设备供应商。一幅“万国博览会”模样的腾讯数据中心跃然脑海之上。
在腾讯这样级别的互联网公司,出于平衡供应商、优化设备结构等多方面因素考虑,在天蝎整机柜或类似Facebook的OCP项目完全普及前,数据中心内“万国博览会”的情况是极为常见的,看到多家统一产品线的供应商都宣称自家的产品支撑了微信红包活动大可不必吃惊,他们当然说的是实话,只是这个配比到底是多少,却没有人能够说的清楚。
最后忘了解释,笔者之所以一直在高(Ju)兴(Sang)的感觉中度过红包浪潮,是因为笔者用的是Windows Phone系统的手机,你懂的!
微信红包:抢得到靠的是“立体”支撑
在除夕夜微信摇(抢)红包活动的过程中,微信红包联合团队承受了巨大的压力,彻夜未眠的熊猫眼是他们在农历大年初一合影中的“标配”。虽然在几个月之前就已经开始对微信红包活动开始“压测(模拟真实负载的压力测试)”,但除夕夜当天紧绷的神经并没有因此而松懈。与他们一同站在系统数据监控屏幕前的还有许多不同团队,微信摇(抢)红包活动的成功运行,依靠的不仅仅是鹅厂的微信团队,还有与之相关联的多个不同领域的技术团队。
微信红包活动完全基于互联网数据流量,在3G、4G逐渐普及的当下,电信运营们在春节时最头疼的事情之一就是数据流量的激增。这一激增的幅度与几年前流行短信拜年时已不可同日而语,不仅数据流量规模更大,而且请求次数远超短信时期(想象一下有多少人在摇/抢红包,这总共会给后端带来多么庞大的请求数)。除夕夜当晚,各大运营商的数据业务运维支撑团队在面对微信红包庞大的数据流量和请求数之外,还面对了143亿次微信信息发送/接收和2.6亿次微信朋友圈发布量,相信这也创下了纪录。
财付通技术团队同样彻夜未眠,无论是微信红包还是QQ红包,背后均是财付通提供的底层支付系统。每一个红包所涉及的“塞钱进红包”或是“充值”“提现”等操作,均是由财付通的在线支付系统所支持的。没有财付通,微信作为一款社交软件就不可能打通与银行的提(请)款或存款流程,红包里的真金白银自然也就成了无稽之谈。
致那张没几个人看到的图片:云计算是幕后功臣
凡事总有出错的可能,微信红包活动也不例外,所以,微信红包联合团队中某些脑洞大开的技术人员提前准备了一张意寓“服务器挂了”的静态图片——一挂鞭炮下面悬着一台服务器,用来在微信红包“挂了(服务器崩溃、系统无响应等意外情况)”的情况下向微信用户“卖(Qiu)萌(Rao)”。只是可惜,今年能够看到这张图的微信用户其实并不算多,记得把它存下来的人就更少了。
在除夕夜当天,据说腾讯大厦17楼的整个技术团队被留下来待命,他们的主要工作就是为了防止服务器崩溃。与淘宝天猫(支付宝)所面临的“双十一”挑战类似,微信红包活动也是一个短时间内高并发量的互联网电子商务活动,后台服务器所面临的负载有时候瞬间会飙升数十倍。
但一年只有一个除夕夜,也只有一个“双十一”,平时支持日常运维的服务器数量不可能按这个数量级来配备。这就是云计算技术的重要性,一方面保障短时间内资源可以被快速聚合并可用;一方面保证资源可以在非特殊时期将资源分配到其他业务上去。
无论是微信红包还是“双十一”,利用云计算、虚拟化技术,动态调配虚拟的、云化的计算、存储和网络资源,是后台技术团队的必备技术。这一工作甚至在在前期压力测试时就已经开始。除夕夜前微信团队做了多次内测和至少三次外部测试——每一次都需要临时调配规模庞大的服务器集群进行模拟的高并发负载测试。
最早面对这一问题的是淘宝的“双十一”,当时阿里巴巴技术团队的服务器上线靠的还是“人力”,由工作人员手工在数据中心机柜内上线新的服务器,但随着阿里巴巴云计算技术方面的发展,现在面对突发的高并发业务负载,他们所调配的资源已经是阿里云的计算、存储、网络等“虚拟(云计算)资源”,而不是笨重的物理服务器。
鹅厂竟然允许卡顿?火爆活动的设计准则
略显遗憾的是,虽然看到“服务器挂了”图的微信用户少之又少,但还是有人看到并且把这张图保存下来了。这就说明,微信(红包)的服务器还是出现过无法响应用户请求的情况。据不少微信用户反应,在除夕夜晚八点前几分钟,微信红包支付功能、微信群消息以及其他多项微信服务都无法使用,红包无法发出、群聊消息接收不到、抢到的红包不能到账等等问题还是出现了。直到晚上8点20分左右才开始逐步恢复正常,微信信息加载和微信红包支付功能虽然略有卡顿,但已经基本上处在可用状态。大量的媒体报道也佐证了这一事实。
这就要谈到微信后台技术支撑体系中占有重要地位的“海量服务之道2.0”体系了。从2014年的滴滴打车到2015年的微信红包,真正支撑起后台运营的幕后英雄就是这一技术体系,其中三大价值观:有损服务、云中成长、数据银行中的第一个“有损服务”,正是出现上述卡顿的核心原因。
首先我们引用腾讯内部的“腾讯大讲堂”的介绍来描述一下所谓“有损服务”的诱因:2015年不是第一年的微信红包活动,但摇红包却是第一次,这一活动对业务量来说是一个极大的爆发,光是除夕10:30送出的一波红包就达到了1.2亿个,已经是2014年除夕夜峰值的400倍之巨(2014年峰值每分钟被拆开红包数量仅2.5万个)!
大量用户在同一时间摇红包,瞬间产生每秒千万级的请求,这个量级的请求如果不加以疏导处理直接到达后台,必定会导致后端服务过载甚至崩溃。微信红包联合团队除夕夜当天后台监控数据曲线便能说明一切——在前台重重的分流减压下,后台服务器负载仍然瞬间飙升十倍以上。
“小损而谋大局”正是有损服务的核心,它的目的是通过选择性牺牲一部分数据一致性和完整性,从而保证核心功能绝大多数运行。这是腾讯在PC时代积累下来的一种特色运营策略——在资源一定的前提下,量力而为,满足用户的核心需求。也就是说,在微信用户可接受的范围内,牺牲掉一定的复杂操作步骤,简化后台操作流程,从而在短时间内加快微信红包的发放速度。
另一方面,通过“服务器挂了”(脑洞大开)图、“休息一会·稍后再摇”(合家欢)图作为预埋策略,在系统过载时向用户做出相应提示,避免用户重复提出请求,而降低群聊的信息推送频度,是微信红包的过载保护措施之一。这个问题怎么说呢?偶尔出现一些小错误,减少一些冗余的安全措施,时不常看几张充满温情的图片,从而保证一整个春节假期的微信红包活动,总比在除夕夜一开始就把微信服务器刷爆了要好得多吧?
搭车微信红包做营销
说了好多微信红包活动的技术支撑,终于到了此篇文章最有趣的话(cao)题(dian)了,那就是服务器厂商也是醉了,很多颇为有趣的厂商借用微信红包活动搭车宣传。事实上,在除夕当天白天,就已经有不少服务器厂商开始搭车宣传,指出腾讯微信、微信红包活动的支持后台是由自家的服务器所支撑的,“良好地保证了微信运营”、“高性能稳定运营支持微信红包活动”……诸如此类的宣传已经铺天盖地了。可惜,除夕夜当晚,在那句著名的“重点是,服务器抗住了!”还是没说出口。
读了上文的读者们还会明白,微信服务器能不能扛得住,很大程度上在于微信有损服务的分流策略,以及腾讯海量服务之道2.0技术支撑体系(包括大系统云做、小工具大做、全网调度、柔性可用等方法论)所发挥的重要作用,在除夕夜当天虽然前端接受到的并发量在百万乃至千万,“(经过)在客户端、接入层层减压、过滤,最终仅把十万级压力传递到后台”。但这还不是最有趣的,在笔者的朋友圈,同一时间“搭车”的不止一家服务器厂商,甚至不止一家UPS、不止一家网络、不止一家数据中心设备供应商。一幅“万国博览会”模样的腾讯数据中心跃然脑海之上。
在腾讯这样级别的互联网公司,出于平衡供应商、优化设备结构等多方面因素考虑,在天蝎整机柜或类似Facebook的OCP项目完全普及前,数据中心内“万国博览会”的情况是极为常见的,看到多家统一产品线的供应商都宣称自家的产品支撑了微信红包活动大可不必吃惊,他们当然说的是实话,只是这个配比到底是多少,却没有人能够说的清楚。
最后忘了解释,笔者之所以一直在高(Ju)兴(Sang)的感觉中度过红包浪潮,是因为笔者用的是Windows Phone系统的手机,你懂的!