Amazon SNS
- 类型
- 经典
- 推出
- 2009年
全托管的发布/订阅消息传递和移动通知服务
它能做什么
Amazon SNS(Simple Notification Service)是一项全托管的发布/订阅(Pub/Sub)消息传递服务。发布者向主题(Topic)发送消息,所有订阅该主题的端点同时接收消息。支持 HTTP/HTTPS、邮件、短信、Lambda、SQS、移动推送等多种订阅协议。
使用场景
用于应用间的事件通知、系统告警的多渠道分发、移动应用的推送通知、微服务间的异步通信、扇出(Fan-out)模式的消息分发。
日常类比
可以比作广播电台。电台(发布者)播出节目(消息),所有调到该频道(订阅主题)的收音机(订阅者)同时收到内容。一次广播可以同时到达无数听众。
什么是 SNS
Amazon SNS 是一项消息发布/订阅服务。与点对点的 SQS 不同,SNS 采用一对多的扇出模式。一条消息发布到主题后,所有订阅者同时收到副本。常见模式是 SNS + SQS 的组合(Fan-out),一条消息同时分发到多个 SQS 队列进行并行处理。
主题类型与过滤
SNS 提供标准主题(高吞吐量、至少一次投递)和 FIFO 主题(严格顺序、精确一次投递)。消息过滤策略允许订阅者只接收感兴趣的消息子集,无需接收所有消息后再过滤。支持消息属性和消息体的过滤。
开始使用
在 SNS 控制台创建主题,添加订阅(邮件、Lambda、SQS 等)。通过控制台或 API 向主题发布消息,所有订阅者即时收到通知。邮件订阅需要收件人确认。
注意事项
- 标准主题提供近乎无限的吞吐量,FIFO 主题保证严格顺序
- 消息过滤策略可以减少不必要的消息投递,降低成本
可用区域
Amazon SNS 可在 37 个区域使用 (截至 2026-10-09)。
亚太地区:香港、台北、东京、首尔、大阪、孟买、海得拉巴、新加坡、悉尼、雅加达、墨尔本、马来西亚、新西兰、泰国
北美:加拿大 (中部)、加拿大西部 (卡尔加里)、墨西哥 (中部)、美国东部 (弗吉尼亚北部)、美国东部 (俄亥俄)、美国西部 (加利福尼亚北部)、美国西部 (俄勒冈)
南美洲:圣保罗
欧洲:法兰克福、苏黎世、斯德哥尔摩、米兰、西班牙、爱尔兰、伦敦、巴黎
AWS 欧洲主权云:德国
中东:以色列 (特拉维夫)、阿联酋、巴林
非洲:开普敦
AWS GovCloud (美国):AWS GovCloud (美国东部)、AWS GovCloud (美国西部)
参考资料(AWS 官方)
本页的第一手信息来源是 AWS 官方网站及官方文档。最新的规格与价格请以下列官方页面为准。
如本页内容与官方文档不一致,请以官方文档为准。