针对100,000个主题限制的AWS SNS解决方法

时间:2016-07-07 20:17:34

标签: amazon-web-services amazon-sns

我正在使用带有APNS和GCM的AWS SNS开发推送通知的架构。我关注的模型是

  • 每个用户(非设备)都有一个与之对应的SNS主题
  • 每个用户可以拥有多个设备
  • 为每个设备创建平台应用程序端点
  • 将平台应用程序端点订阅到属于设备用户的主题

这样,当我们必须向用户的所有设备发送通知时,我们需要使用用户的publish来调用topicArn方法,并且所有设备都应该获得消息。

但是,默认情况下,AWS的主题限制为100,000。如果我们预计会有更多用户(例如100万或者说1000万人)乐观,那么这种方法是否有任何解决方法?

我应该要求AWS提前提高限额吗?他们容易将限制增加到1亿这样的数字吗?是否有任何成本含义大部分都没有在开始的几个月内使用?

3 个答案:

答案 0 :(得分:13)

披露:我曾经在亚马逊SNS上工作

您建议的架构是Amazon SNS中的常见模式,并且是健全的。

你应该要求topic limit increase。即使您创建主题并且不使用主题限制,也不会产生任何成本影响。但是,对于每个pay $0.50/million requests来电,您将CreateTopic,每月有100万个请求免费。

提交支持服务单时,请记录您的使用案例。它可以帮助团队加快限制增加请求。

答案 1 :(得分:2)

使用Amazon SNS,没有最低费用,您只需支付使用的费用。用户每100万个Amazon SNS请求支付0.50美元,通过HTTP支付每100,000个通知交付0.06美元,通过SMS通过每100个通知交付0.75美元,通过电子邮件每100,000个通知交付2.00美元。

Amazon SNS还包含免费套餐,用户可以免费使用Amazon SNS。每个月,亚马逊SNS客户都不会为前100万个Amazon SNS请求支付任何费用,前100个通过HTTP通知不收费,前100个通知通过短信收费不收费,前1000个通知通过电子邮件不收费。

因此,如果您预期,我会建议您提前增加限额。你不会因增加限额而被起诉。他们肯定会增加到1亿。

答案 2 :(得分:2)

我们跟OP的类似模型有一个例外 - 随着用户数量的增加,死账户的数量也增加了。面对它,用户保留带来了挑战。所以你可能想要提出一个主题回收策略。提示:不要将主题永久绑定到用户,但允许ARN到期,类似于DHCP租约。您的应用可能会定期询问您的网络服务需要订阅哪些ARN,并希望重新分配。如果您在早期将其构建到客户端协议中,则不需要那么多ARN。毕竟,100k 活跃用户与100k 注册用户完全不同:)