Mos*_*ano 7 php amazon-web-services apple-push-notifications amazon-sns aws-php-sdk
我有一个应用程序逻辑,要求我将用户设备分段为订阅不同类型的"频道/主题"的组.
然后,我想向特定主题或频道的所有订阅者发送广播消息.
我可以拥有多达500,000个主题或频道,每个频道有多达20,000个订阅者.
由于AWS SNS每个频道限制3,000个主题和10,000个订阅者,因此他们的FAQ建议您使用直接寻址,这意味着我自己逐个发送.如果我们的产量很高,他们建议我们也走这条路.
AWS SNS没有批量发布功能,所以我实际上需要为每个订阅者发出一个SNS发布请求,这可以挂载到数万个请求.
所以我发现AWS-PHP-SDK是建立在Guzzle之上的,并且支持通过多卷曲进行并行请求处理,但即便如此,如果我同时运行20个连接,我仍然需要提出这么多请求...是那甚至高效吗?如果我有大量的话,为什么这是推荐的方式呢?
还有另一个问题,如果我需要逐个向每个用户发送相同的消息,为什么要使用SNS?
Apple APNS服务通过打开TCP连接和写入请求的字节来工作,每个请求都有不同的订阅者详细信息,但我可以编写字节而不需要构建PHP请求和处理20个进程的开销.将消息传递给所有主题/频道订阅者的方式不会更快吗?
我对这类案例中AWS SNS服务的权衡和附加价值感到有些困惑.我非常感谢有过这方面经验的人或AWS员工的一些见解.
谢谢
如果您只是要向 APNS 目标进行一对一通知,那么使用 SNS 并没有太大优势。
如果您想开始针对 iOS、Android 和其他通知平台的 1-1 通知,SNS 会变得更加有用,因为它可以帮助您将所有这些不同的平台目标抽象到代码中的单个 SNS API 后面。
如果您想进行 1-N 广播,那么 SNS 也很有用,因为您可以通过一次呼叫向 10,000 个设备进行广播。
| 归档时间: |
|
| 查看次数: |
3443 次 |
| 最近记录: |