AWS 服务概述
目录
SQS
Simple Queue Service,完全托管的消息队列,成为收件人和发件人之间的缓存。
存储消息,直至消息被处理或者删除。
可以通过 KMS(Key Management Service)来对 SQS 中的内容进行加密(Service Side Encryption),消息发给收件人时,才被进行解密。
使用场景:
- 快速异步处理每个步骤的响应
- 并行处理以提高性能
- 从失败的步骤中恢复(未处理完成消息还会保存在队列中)
队列类型:
- 标准队列:至少会发一次,偶尔可能发送多次;处理时间和接收到的时间无关。可以提供大吞吐,可处理近乎无限的 TPS
- FIFO:严格按照发送顺序处理。每秒可以处理 300 个消息。
SNS
Simple Notification Service,使得用户可以快速设置、操作和发送消息。
发布-订阅模式,发布者无需知道谁在订阅。
可以创建一个主题,然后设置哪些发布者和订阅者可以和它通信。
SNS 订阅类型:
- 电子邮件
- HTTP
- SMS 短信客户端
- SQS 队列
- Lambda 函数
使用场景:
- 应用程序和系统警告
- 推送电子邮件
- 推送消息
特点:
- 所有消息只能包含单项内容
- 不能召回
- 无法保证次序
SQS 和 SNS 对比
SNS | SQS | |
---|---|---|
消息持久性 | 否 | 是 |
传递机制 | 推送(被动) | 轮询(主动) |
创建者/使用者 | 发布/订阅 | 发送/接收 |
分配模型 | 一对多 | 一对一 |
Amazon MQ
Apache ActiveMQ 的云端替代,消息代理服务。使用消息代理可以使得不同软件系统/平台间可以相互通信。
支持 JMS、MQTT、NMS、AMQP、STOMP、Websocket 协议。