使用AWS SNS与直接使用Apple的APNS的好处

时间:2014-04-23 07:47:15

标签: php amazon-web-services apple-push-notifications amazon-sns aws-php-sdk

我有一个应用程序逻辑,要求我将用户设备细分为订阅了不同类型的"频道/主题的组#34;。

然后,我想向特定主题或频道的所有订阅者发送广播消息。

我可以拥有多达500,000个主题或频道,每个频道有多达20,000个订阅者。

由于AWS SNS每个频道限制3,000个主题和10,000个订阅者,因此常见问题解答建议您使用直接寻址,这意味着我自己逐个发送。如果我们的产量很大,他们建议我们也走这条路。

AWS SNS没有批量发布功能,所以我实际上需要为每个订阅者发出一个SNS发布请求,这可以挂载到数万个请求..

所以我发现AWS-PHP-SDK是建立在Guzzle之上的,并且通过多卷曲支持并行请求处理,但即便如此,如果我同时运行20个连接,我仍然需要发出这么多请求。 ..那是否有效?如果我有大量的话,为什么这是推荐的方式呢?

另一个问题浮现在脑海中,如果我需要逐个向每个订阅者发送相同的消息,为什么要使用SNS?

Apple APNS服务通过打开TCP连接并写入请求的字节来工作,每个请求具有不同的订阅者详细信息,但我可以编写字节而不需要构建PHP请求和处理20个进程的开销。这不是以更快的方式将我的信息发送给所有主题/频道订阅者吗?

我对AWS SNS服务在这些类型的情况下的权衡和附加价值感到有些困惑。我非常感谢有过这方面经验的人或AWS工作人员的一些见解。

谢谢

1 个答案:

答案 0 :(得分:2)

如果您要向APNS目标做1-1通知,那么使用SNS并不是一件好事。

如果您想开始定位iOS,Android和其他通知平台的1-1通知,SNS会变得更有用,因为它可以帮助您在代码中的单个SNS API后面抽象出所有这些不同的平台目标。

如果你想播放1-N,那么SNS也很有用,因为你可以拨打一个电话来发送给10,000个设备。