Apple APNS 仅允许来自您的服务器的最多 20
个连接,那么 WhatApp 等应用程序如何能够每秒传送如此大量的消息?
即使他们可以使用多个服务器,但假设他们有 500 万活跃用户发送消息,他们还需要 25 万台服务器,这听起来很疯狂,对吧?
这里有什么技巧?
最佳答案
非常简单:每个用户不需要一个连接。
您可以为每个 APNS 连接发送多条消息。每条消息可以发送到不同的设备。最大有效负载长度为256字节加上45字节的开销; 10Mbit 连接每秒至少可以处理 4100 条消息,或者大约 250k/分钟,或者每个用户每小时大约 3 条消息。
平均“活跃用户”每小时发送超过 3 个吗?很难说。 “活跃”可能意味着他们当月发送了一条消息;这样的分布有非常长的尾部。
无论哪种方式,这都适用于单个 10M 连接。我不确定 Apple 方面有多少争论,但如果您可以毫不费力地超过 50M,我不会感到惊讶。
此外,当应用程序位于前台时,他们几乎肯定会使用自己的服务器,如果他们聪明的话,他们可以在应用程序后台运行后保持连接几分钟(并且仅在连接后才使用推送通知)关闭)。
关于ios - WhatsApp 等应用程序如何摆脱 Apple 推送通知服务的连接限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15262813/