与GCM服务的并发连接数

时间:2015-09-21 23:37:40

标签: google-cloud-messaging

我们正在通过GCM API向Android设备发送推送通知。 允许人们订阅不同的主题并每隔几天收到警报。 订阅主题的用户数量在100_000到1_000_000之间,因此我们希望使用十多个连接来加快速度。

我们会在重试时看到答案,因此我们会按照文档中的说明在指定的时间段后重试。

我们可以通过使用更多连接并更慢地发送请求来摆脱退休吗?

或者是为给定API密钥设置的配额,并且启动更多连接甚至会伤害我们?

编辑: 我们正在使用GCM HTTP接口。确切地说,erlang-gcm库:https://github.com/pdincau/gcm-erlang我们正在向1M用户发送消息。我们没有发送主题。我们正在执行组播发送到用户列表。 gcm-erlang库允许我们为每个请求传递1000个用户(这也是GCM API的限制)。这意味着,我们必须执行至少1000个请求。

处理所有这1000个请求大约需要10分钟,因此我们希望并行处理它们,但它并不能使它更快。在这里,我找到了关于限制的信息:https://stuff.mit.edu/afs/sipb/project/android/docs/google/gcm/adv.html#throttling

“每个应用程序都会限制邮件”

这是否意味着,即使这是针对不同用户的消息,我们仍然受到限制,因为他们正在为我们的移动应用程序使用单个API密钥?

XMPP端点会更快吗?

1 个答案:

答案 0 :(得分:0)

并行化请求并没有使它们更快,这很奇怪。怎么会?你确定瓶颈不在你的身边吗?

不,它看起来不像你受到限制(如果你没有在线等待,你会收到错误)

我仍然不明白为什么topics不适合你。他们似乎是一场很好的比赛。

无论如何,如果您想单独发送消息,我强烈建议您切换到XMPP。您将能够每次连接一次发送一百条消息,并打开最多1000个连接(但您真的不需要那么多)。