微信推送消息的思考

作者: | 更新日期:

并不是越快越好,而是要好用。

本文首发于公众号:天空的代码世界,微信号:tiankonguse

一、背景

两周前开始去公司上班,早中晚三餐都是吃公司的盒饭了。

由于员工太多,为了提前准备好足够分量的盒饭,公司提前一天微信推送了消息,让我们进行登记自己第二天是否要盒饭。
登记的时候,我们也可以顺便把第二天一天的饭钱预先支付了。

这个流程看起来没啥问题。
可是实际操作的时候,发现在登记盒饭这一步出了点问题,无数人被困扰。

二、登记

首先,登记有时间限制。
只能在每天的14:00 ~ 18:00 时间内进行登记。

微信公众号会每天14点多的时候,给全员推送订餐通知。

而这里的问题是,大家收到通知开始登记的时候,由于访问量太大,页面大部分人都打不开。
很多人想着之后再登记,便开始工作了。

大家工作都是很专心的,一开始工作便把登记这个事情给忘记了。
结果就是第二天没有饭吃了。

我和周围的同事遇到很多次了,相信其他人也遇到了吧。

三、推送系统

这个问题,思考一下,其实是推送系统很常见的一个很实际的问题,却被无数人忽视了。

作为一个优秀的推送系统,肯定想在最短的时间内推送最多的消息。
比如半个小时推送1亿的消息。

但是话说回来,最短时间内推送最多的消息只能代表一个推送系统的上限能力。 但是并没有必要,所有的消息推送都使用这个能力。

换句话说就是,实际使用推送系统时,需要根据推送消息的数据,在能力范围之内选择适当的速度来推送。

比如对于爆炸性热点新闻消息,为了和其他竞品抢占时间,可能希望尽量快的推送消息给用户。
而对于其他消息,完全可以慢慢推送。

不然就会遇到我们登记订餐这个问题,一会就推送给全员了,看起来很厉害的样子。
可是一打开,大部分人页面刷不开,那推送的这么快有什么意义呢?

所以,推送系统在推消息时,推送的速度一定要与打开消息之后的下游系统的能力相匹配。

四、最后

面对这个问题,我想到了另外一个解决方案。

既然订餐时间是 14:00 ~ 18:00, 那我写一个程序,在 16:00 的时候给我发消息,提醒我订餐就可以完美解决这问题了。

嗯,使用手机定个闹钟或者待办事项也可以,你可以这个方法。

《完》

-EOF-

本文公众号:天空的代码世界
个人微信号:tiankonguse
公众号ID:tiankonguse-code

本文首发于公众号:天空的代码世界,微信号:tiankonguse
如果你想留言,可以在微信里面关注公众号进行留言。

关注公众号,接收最新消息

tiankonguse +
穿越