Link

AWS 服务概述

目录

  1. AWS 服务概述
    1. SQS
    2. SNS
    3. SQS 和 SNS 对比
    4. Amazon MQ

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 对比

 SNSSQS
消息持久性
传递机制推送(被动)轮询(主动)
创建者/使用者发布/订阅发送/接收
分配模型一对多一对一

Amazon MQ

Apache ActiveMQ 的云端替代,消息代理服务。使用消息代理可以使得不同软件系统/平台间可以相互通信。

支持 JMS、MQTT、NMS、AMQP、STOMP、Websocket 协议。