产品经理的技术思维之降级思维
最近有小伙伴@我,产品经理的降级思维是什么,体现在哪些方面,能否详细点讲解。
于是笔者调研了几个经典的产品案例,来深入讲下降级思维。
什么是降级思维?
降级思维指的是当某个功能依赖的资源不足以维持它正常运行时,把核心功能提取出来,把次要功能以其他方式实现的思想。
案例一:滴滴打车
以前在滴滴打车时,它是会实时显示打车人的详细位置的,而且会显示附近出租车的准确位置,还有智能复杂的派单逻辑。
但是在打车高峰期,实时展示打车人详细位置、出租车详细位置以及智能复杂的派单逻辑,
导致了显示打车人和出租车位置延时、成功打到车的速度变慢等问题,严重影响了用户体验。
为了提升用户体验,我们需要调整策略,抽取出核心功能,把次要功能用其他方式实现。
滴滴打车的核心功能是让用户能尽量快的打到车。
后面滴滴打车做了如下的降级处理:
1、准确显示我的当前位置调整为:非高峰期时,显示我的详细位置。高峰期时取消详细的文字展示。
2、显示附近的出租车调整为:高峰期时取消实时展示出租车位置,仅显示最近时间内附近出现过的部分出租车。
3、智能复杂的派单调整为:高峰期时降级为随机分配的分单逻辑。
以上的调整,从技术上来看,是从降低非必要的请求来减少流量和降低复杂算法的计算耗时来优化的。
案例二:腾讯地图点聚合
假设有这样一个功能:需要地图打点展示门店的位置。在门店不多的情况下,显示如下图:
但是如果门店越来越多,打点的显示就会非常密集,影响可读性,而且同时渲染出这么多点,在性能上也是一个挑战。
腾讯地图的降级策略是:自动将距离相近的标记聚合到一起,以统计数字方式呈现在图中相应位置。这样既可以减少点的个数,又能实现清晰、易读的场景需求。
案例三:微信红包分离抢和拆
2014年时,在点开微信红包时,是马上能知道金额的,它的拆和抢是一个操作。
但是从2015年开始,微信红包把拆和抢做了分离。所以我们经常就会遇到点了红包,但是在拆时显示红包已抢完的提示。
为什么要这么做呢?总思路是通过设置多层过滤网,来减少流量和服务压力。因为抢是业务层逻辑,拆是入账操作,这整个操作太重了,而且中断率高,所以做了分离。
案例四:春晚微信摇一摇红包
这是2015年春晚微信摇一摇红包的案例。
由于春晚同时并发摇一摇红包人数较多,有上亿级别的访问量,服务器压力过大,为了保证核心功能的正常使用,后面采用了降级的办法处理。
我们来看下摇一摇红包里面有几个功能:
摇红包->拆红包->红包实时入账
这个功能一开始时,逻辑是这样的:用户摇一摇,拆完红包后,红包是实时入账的。
但是由于并发流量太大,服务器压力很大,许多用户可能连摇一摇红包界面都进不去,
为了减少请求次数,缓解服务器压力,后来采取了优雅降级的方案,把红包实时入账功能改成异步的形式,红包将会在7天之内入账。
小结:降级的思路一般都是从减少请求流量、减少算法耗时、减少渲染元素个数等角度,来保证核心功能可用。
---- end ----
---- 推荐阅读 ----