【问题标题】:AWS SNS Flexibility to Publish to Subset of Topic's Subscribers?AWS SNS 是否可以灵活地发布到主题订阅者的子集?
【发布时间】:2014-03-27 08:21:36
【问题描述】:

这是我要构建的模型: 无限主题(我知道 AWS 限制目前是 3000) 每个主题的订阅者不受限制(AWS SNS 文档没有说明限制)

每个订阅者都有不同的时间表,他们希望接收 SMS 或电子邮件消息。

如果我有一个有 10 个订阅者的主题,其中 5 个想要早上消息,5 个想要晚上消息。日程表可以更改,并由管理员通过 Web 应用程序(使用 API)进行管理,因此每个日程表构建一个主题并不是理想的解决方案,而且这些变化会占用 3000 个主题中的很多。

【问题讨论】:

    标签: amazon-web-services amazon-sns


    【解决方案1】:

    SNS 不支持发布到主题订阅者子集的功能,除了使用其 Android/iOS 推送通知功能时,它既不是电子邮件也不是 http 也不是短信,并且与 SNS 所做的一切都如此不同,我'不完全确定为什么亚马逊没有将其作为完全不同的产品进行营销。

    目前,仅向 iOS、Kindle 和 Android 端点的推送通知支持直接寻址

    http://aws.amazon.com/sns/faqs/#Does_SNS_support_direct_addressing_for_SMS_or_Email

    documented limit 表示单个主题的订阅者数量为 10,000。这似乎是一个硬性限制;但是,每个帐户 3,000 个主题的限制显然不是硬性限制,因为 requesting an increase 有一个记录到该限制的过程。

    3,000 个主题(每个主题有 10,000 个订阅者)和 10 个订阅者分布在 2 或 3 个主题之间存在很大差距,但 SNS 似乎仍然不是您想要做的事情的正确平台——限制或没有限制 - 因为每次将订阅者添加到主题时,他们都必须确认他们对该主题的订阅......所以如果您的管理员为操纵主题订阅所做的任何事情仍然会导致 a confirmation message from "AWS Notifications" 从亚马逊发送给每个订阅者SNS 要求他们在发送后续消息之前选择加入,如果订阅者想要更改他们的发送计划(这意味着将它们添加到新主题),则必须重复这个过程。您不能以编程方式跳过此步骤。

    在 AWS 中,Simple Email Service 似乎是一个更合适(并且对收件人友好,假设您的收件人来自公众)基于您正在考虑的平台,其逻辑是确定哪些收件人关联每条消息都由您的数据库中的逻辑确定...它没有相同的定价结构,并且它不发送 SMS(尽管通过 SNS 发送的 SMS 无论如何似乎相当昂贵),并且与 SNS 不同,SES 没有每条消息的限制为 256k。

    这确实给您的应用程序增加了更多负担,因为您必须为每个订阅者将消息副本发送到 SES,但如果传出带宽是一个问题,部署在 EC2 内的实例可以轻松处理复制并将消息传送给 SES。使用 SES,您还可以在消息中获得 bounce and complaint notifications

    这是我会采取的方法。

    但话又说回来,很难准确地说出你在问什么。

    【讨论】:

    • 每个主题 10K 订阅者的硬性限制已于 2014 年 8 月 19 日取消:aws.amazon.com/blogs/aws/sns-large-topics-and-mpns-auth-mode
    • @Darius,谢谢。我会按照指示进行审查和更新。
    • 我可以为一个特定的主题创建多个订阅者吗?比如说我已经创建了一个主题电子产品,现在我想在一个电子产品主题下创建空调、风扇、冰箱等订阅者。这可能吗? ?
    • @Learning,如果我理解您的要求,那就是“主题”的重点,从单个发布事件中扇出多个订阅者。
    • 当我使用应用程序协议创建对特定主题的订阅并将我的手机指定为端点时,sns 是否会向我的移动端点发送确认通知?
    猜你喜欢
    • 1970-01-01
    • 2021-11-14
    • 1970-01-01
    • 1970-01-01
    • 2020-06-23
    • 1970-01-01
    • 2016-06-17
    • 2015-09-26
    • 2021-11-25
    相关资源
    最近更新 更多