主题类型

标准主题 

标准主题可以在许多场景中使用,前提是您的应用程序可以处理不止一次且不按顺序到达的消息,例如:将消息扇出到媒体编码、欺诈检测、税费计算、搜索索引和关键警报应用程序。

最大吞吐量:标准主题每秒支持几乎无限数量的消息。

最大努力排序:消息偶尔可能按不同于其发布时的顺序传递。

FIFO 主题

FIFO 主题旨在在操作和事件顺序至关重要或无法容忍重复时增强应用程序之间的消息收发,例如:向银行交易日志记录、库存监控、航班跟踪、库存管理和价格更新应用程序扇出消息。

高吞吐量:FIFO 主题每秒最多支持 300 条消息或每个 FIFO 主题每秒 10MB(以先到者为准)。

严格排序:严格保留消息发布和传输的顺序(即先入先出)。

最大努力去重复:消息至少传输一次,但偶尔会传输消息的多个副本。

多种订阅类型:消息可以传输到应用程序到应用程序(A2A)端点(Amazon SQS、Amazon Kinesis Data Firehose、AWS Lambda、HTTPS)以及应用程序对人(A2P)端点(短信、移动推送和电子邮件)。

消息扇出:每个账户可以支持 100000 个标准主题,每个主题最多支持 1250 万个订阅。

严格的去重复:不传输重复的消息。去重复在 5 分钟间隔内进行,从消息发布时间算起。

SQS 订阅:消息可以传输到 Amazon SQS 队列。

消息扇出:每个账户可以支持 1000 个 FIFO 主题,每个主题最多支持 100 个订阅。

事件源和目标

事件驱动型计算是一种模型,在该模型中,订阅用户服务自动执行工作以响应发布者服务触发的事件。这种模式可以应用于自动化工作流程,同时解耦共同和独立工作以实现这些工作流程的服务。Amazon SNS 是一个事件驱动型中心,与各种 AWS 事件源和目标进行本机集成。

消息发布和批处理

消息发布使您能够以消息的形式向 Amazon SNS 主题发送数据,该主题将消息异步传输到订阅该主题的应用程序。对于每个 API 请求,您可以发布 1 到 10 条消息。您可以选择将批量处理消息,以降低您的 Amazon SNS 成本。每条消息最多可以包含 256KB 的数据。如果您的应用场景需要更大的数据负载,Amazon SNS 扩展型客户端库会将负载(最大 2GB)存储在 Amazon S3 存储桶中,并将存储的 Amazon S3 对象的引用发布到 Amazon SNS 主题。

消息筛选

消息筛选使您的订阅用户应用程序能够创建筛选策略,因此这些应用程序只能接收他们感兴趣的通知,而不是接收发布到该主题的每条消息。这使您能够简化架构,以从订阅用户应用程序卸载消息筛选逻辑以及从发布者应用程序中卸载消息路由逻辑。

消息扇出和传输

当您向某个主题发布消息时,Amazon SNS 会复制该消息并将其传输给订阅该主题的应用程序。Amazon SNS 支持应用程序到应用程序(A2A)和应用程序到个人(A2P)的消息传输。除了使用 Amazon CloudWatch 记录消息传输状态外,Amazon SNS 还支持跨区域和跨账户的消息传输。

消息持久性

Amazon SNS 组合使用一系列机制来实现消息持久性。在开始时,发布的消息将在多个服务器和数据中心存储,这些服务器和数据中心在地理上保持相互独立。如果订阅的端点不可用,Amazon SNS 会执行消息传输重试策略。要保留传输重试策略结束前未传输的任何消息,您可以创建一个由 Amazon SQS 提供支持的死信队列。此外,您还可以订阅 Amazon Kinesis Data Firehose 传输流系统到 Amazon SNS 主题,它允许消息被发生到持久性端点,如 Amazon S3 存储桶或 Amazon Redshift 表。

消息加密

Amazon SNS 提供加密主题,以保护您的消息免遭未经授权的匿名访问。当您向加密主题发布消息时,Amazon SNS 会立即加密您的消息。加密在服务器上进行,采用 256 位 AES-GCM 算法和 AWS Key Management Service(KMS)颁发的客户主密钥(CMK)。 这些消息以加密形式存储,并在传送到订阅端点时进行解密,例如 Amazon SQS 队列、Amazon Kinesis Data Firehose 流、AWS Lambda 函数、HTTP/S 端点、电话号码、移动应用程序和电子邮件地址。

消息隐私

Amazon SNS 通过 AWS PrivateLink 支持 VPC 端点(VPCE)。您可以使用 VPC 端点从 Amazon 虚拟私有云(VPC)将消息私密发布到 Amazon SNS 主题,而无需遍历公共互联网。此特征带来了额外的安全性,有助于促进数据隐私,并与保障计划保持一致。使用 AWS PrivateLink 时,您无需设置互联网网关(IGW)、网络地址转换(NAT)设备或虚拟专用网络(VPN)连接。您也不需要使用公有 IP 地址。

消息数据保护

Amazon SNS 消息数据保护使主题所有者能够定义数据保护策略,以发现和保护通过其主题传输的敏感数据。这可以通过从应用程序中卸载数据保护逻辑来帮助您简化架构,同时帮助支持您的合规性目标,例如,遵守《健康保险流通与责任法案》(HIPAA)、《通用数据隐私条例》(GDPR)、《支付卡行业合规性》(PCI)以及《联邦风险和授权管理计划》(FedRAMP)等法规。 您可以审计传入某个主题的消息,以确定其中包含多少敏感数据,防止它们通过阻止被传输到下游订阅用户,或者通过修订或屏蔽来去除负载中特定数据的标识。

消息存档、重播和分析

对于标准主题,Amazon SNS 提供与 Amazon Kinesis Data Firehose 的直接连接,从而允许在 Amazon S3Amazon RedshiftAmazon OpenSearch Service 和 MongoDB 等服务中存储消息。此特征还支持在 Datadog、New Relic 和 Splunk 等分析服务中存储消息。对于 FIFO 主题,Amazon SNS 提供了就地存储和重播消息的选项,无需预调配单独的存档资源。这提高了事件驱动型应用程序的耐用性,并可以帮助您从下游故障场景中恢复。

 

SMS 短信

Amazon SNS 支持向超过 200 个国家/地区大规模发送 SMS 短信的功能,使用高度可用且持久的服务,并在多个 SMS 提供商之间提供冗余。使用 Amazon SNS,您可以使用发件人 ID、长代码或短代码来控制您的发端身份。此外,在将 SMS 工作负载转移到生产环境之前,您可以使用 Amazon SNS 沙盒对其进行验证。

移动推送通知

Amazon SNS 移动通知能够以经济高效的方式轻松地将推送通知扇出至 iOS、Android、Fire、Windows 和百度设备。移动通知可以通过用户驱动的操作或业务逻辑触发。Amazon SNS 通过 Amazon Device Messaging(ADM)、Apple Push Notification Service(APN)、百度云推送(百度)、Firebase Cloud Messaging(FCM)、适用于 Windows 手机的 Microsoft Push Notification Service(MPNS)和 Windows Push Notification Services(WNS)传输移动推送通知。

电子邮件通知

Amazon SNS 支持向订阅主题的电子邮件地址传输通知。此特征支持多种应用场景。例如,您可以使用 Amazon SNS 以电子邮件通知的形式接收应用程序提醒,从而让您可以了解您的 DevOps 工作流程。因此,当事件发生时,您可以立即收到通知,例如您的 Amazon EC2 Auto Scaling 组发生特定更改,或一个新文件上传到您的 Amazon S3 存储桶,或者违反了 Amazon CloudWatch 中的一个指标阈值。

详细了解 Amazon SNS 定价

访问定价页面
准备好开始构建了吗?
Amazon SNS 入门
还有更多问题?
联系我们