目前市场上的互联网产品越来越成熟,用户也被培养得越来越刁钻。比如,下完单后当天就要送到,最迟不能超过第二天,否则就会对物流进行投诉(都是被京东惯的啊);页面打开速度必须在500ms以内,超过1s就觉得卡的不行不愿意等……
在这种情况下,很多公司的产品/开发人员就被迫成了处女座,对产品追求完美主义。但是这在技术开发能力不是那么强的小创业公司,可能是很难的一件事儿;就算是大如淘宝,在双十一的时候结算也会崩溃。
最近我们公司也经历了这样的情况。作为一个电商公司,用户访问量可能在短期内特别高(尤其是在节庆日、上各项推广活动时),如果之前预期准备不足,就会产生网页卡壳、购物车刷不出来、无法结算甚至超卖等问题,很不幸的说,还很严重
出现这种情况,打骂是不行的,解决不了任何问题。然后我就去研究了小米、腾讯等大公司,发现还真有些门道
微信团队曾经追求所有的信息送达率必须是百分之百,并且一定要在每个用户的手机上保证信息发送和接收顺序的一致性,比如微信群群聊的先后顺序。但是碰上逢年过节,家里七大姑八大姨的闲聊、同学间嗑瓜子儿吹牛x的瞎扯,全国8、9亿的用户群,微信的服务器压力可想而知。后来经过考量,用户接收信息的顺序其实没那么重要,于是腾讯就放弃了对信息顺序的执着,只保障核心功能—信息能100%送达
很早之前qq农场风靡全国。很多用户在从qq空间进入qq农场时,会出现图标加载缓慢、列表入口显示不完整、网页空白等情况,招致无数用户的投诉。经分析,用户一般会在自己的空间看到完整的已安装应用列表,里面包含了之前下载的十几二十款小游戏,点击进入就能玩耍。但是用户常玩的可能就只有一两款,比如qq农场等,其余的即使之前已经下载了,但是根本不怎么玩。如果不加选择的全部载入,就会出现高峰时期down掉的尴尬。于是团队想到了有损的解决方案,在用户网络顺畅时,载入全部已安装应用列表;在网络较差或者高峰时段,就只返回静态的默认列表,只包含用户常用的基本功能以及qq农场等人气应用
他们的解决方案,就是有损服务,刻意输出在品质上存在损失或者功能缺失的服务,以此换取其他方面的优化(用户打开速度、稳定性、成功执行的概率等)。这其中隐含的,是我们常熟知的二八定律,比如手机,我们常用的20%的app会占据我们80%以上的时间;而80%以上的app,我们可能根本不会打开,但是他们却会占据手机大量的内存,拖慢手机的运行速度。同理还有我们经常用的office办公软件,功能很强大,但是我们常用到的有多少呢?很多人应该只会在里面打字吧?价格昂贵的苹果手机,我们最常用的功能,是否也只是打电话、聊微信呢?如果把冗余的app、从来用不到的功能全部删除掉,我们的生活可能基本不会受什么影响,但是却会轻松很多
但是在实施有损服务时,有两个原则必须要坚持:发生问题时,优先保证核心功能的运转,按照核心重要程度进行舍弃;条件允许的情况下,舍弃的性能越少越好,毕竟,用户也都是感性、容易被无用的信息引诱的动物