【发布时间】:2017-05-23 16:48:01
【问题描述】:
目前,我正在开发一个支持多个租户的 SaaS,可以为他们的用户群启用推送通知。 我正在考虑使用消息队列来存储所有推送并使用单独的服务发送它们。该新服务需要从队列中读取并发送推送通知。
我现在的问题是:我需要想出一个复杂的发送策略吗?我知道 GCM 的每个请求限制为 1000 个设备,因此需要考虑这一点。我也等不及 x 推送飞入,因为这可能会延迟先前推送的发送。我的下一个想法是创建一个全局数组并用队列中的推送填充它。然后,一个循环将每隔 1 秒获取一次该数组并发送推送。这样推送肯定会被发送,并且不会超过 1000 台设备的限制。
所以......虽然这可能有效,但我不确定无限循环是否是最好的方法。我想知道 GCM / FCM 是否有请求限制?如果没有,我不需要首先聚合推送,我可以放弃循环。我可以简单地为从队列中拉出的每个推送触发一个请求。
对这个主题的任何启示或对我的原型算法的改进都会很棒!
【问题讨论】:
标签: algorithm google-cloud-messaging message-queue firebase-cloud-messaging