2016-07-07 92 views
6

我正在开发使用AWS SNS与APNS和GCM进行推送通知的体系结构。那我下面的模型是适用于100,000个主题的AWS SNS解决方法限制

  • 每个用户(而不是设备)将会有与之相对应的SNS话题
  • 每个用户可以拥有多个设备
  • 为每个设备
  • 创建平台应用程序终结点订阅平台应用端点到属于设备用户的主题

这样,当我们必须向用户的所有设备发送通知时,我们需要调用publish使用用户的topicArn及其所有设备应该得到的消息。

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

我应该要求AWS事先提高限制吗?他们是否轻松提高了数量上限为1亿个?他们大多数人在开始的几个月里没有使用任何成本含义?

回答

8

披露:我曾经在亚马逊SNS

您提出的架构是亚马逊SNS中的常见模式和健全的工作。

您应该要求​​。即使您创建了主题并且不使用它们,也不会产生更高的主题限制。但是,您将为每个CreateTopic呼叫拨打pay $0.50/million requests,前100万个请求每月免费。

当您提交支持票时,请记录您的使用案例。它可以帮助团队加快增加限额的要求。

1

使用亚马逊SNS,没有最低费用,您只需支付您使用的费用。用户每百万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请求支付费用,不通过HTTP支付前100000通知费用,不通过SMS收取前100个通知费用,并且前1000个通过电子邮件通知不收费。

所以我会建议你事先增加限制,如果这是你所预期的。你不会因为增加限制而被收费。他们肯定会增加到1亿。

0

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

相关问题