AWS 云计算 SQS SNS
SQSAmazon Simple Queue Service (SQS) 是一种完全托管的消息队列服务,可让您分离和扩展微服务、分布式系统和无服务器应用程序。SQS 消除了与管理和运营消息型中间件相关的复杂性和开销,并使开发人员能够专注于重要工作。借助 SQS,您可以在软件组件之间发送、存储和接收任何规模的消息,而不会丢失消息,并且无需其他服务即可保持可用。使用 AWS 控制台、命令行界面或您选.
SQS
Amazon Simple Queue Service (SQS) 是一种完全托管的消息队列服务,可让您分离和扩展微服务、分布式系统和无服务器应用程序。SQS 消除了与管理和运营消息型中间件相关的复杂性和开销,并使开发人员能够专注于重要工作。借助 SQS,您可以在软件组件之间发送、存储和接收任何规模的消息,而不会丢失消息,并且无需其他服务即可保持可用。使用 AWS 控制台、命令行界面或您选择的 SDK 和三个简单的命令,在几分钟内即可开始使用 SQS。
SQS 提供两种消息队列类型。标准队列提供最高吞吐量、最大努力排序和至少一次传送。SQS FIFO 队列旨在确保按照消息的发送顺序对消息进行严格一次处理。
SNS
Amazon Simple Notification Service (SNS) 是一种高度可用、持久、安全、完全托管的发布/订阅消息收发服务,可以轻松分离微服务、分布式系统和无服务器应用程序。Amazon SNS 提供了面向高吞吐量、多对多推送式消息收发的主题。借助 Amazon SNS 主题,发布系统可以向大量订阅终端节点(包括 Amazon SQS 队列、AWS Lambda 函数和 HTTP/S Webhook 等)扇出消息,从而实现并行处理。此外,SNS 可用于使用移动推送、短信和电子邮件向最终用户扇出通知。
官网实验详细教程:
https://aws.amazon.com/cn/getting-started/tutorials/send-fanout-event-notifications/
Kafka SNS SQS
Apache Kafka 遵循发布订阅者模型,其中生产者向主题发送事件/消息,并且一个或多个消费者订阅该主题以获取事件/消息。 在主题中,您可以找到用于并行流的分区。 曾经有消费群体概念。 当从主题分区中读取消息时,将提交以识别该消费者组已读取的消息,以避免在并发编程中读取不一致。 但是,其他消费者组仍然可以从分区中读取该消息。
Amazon SQS 遵循 Queue,并且可以在 Amazon SQS 的任何区域创建队列。 您可以将消息推送到队列,并且只有一个消费者可以订阅每个队列并可以从队列中提取消息。理想情况下,消息将由一个处理器处理一次,并将被标记为已处理并从队列中删除。 SQS 队列有两种类型:FIFO 和标准。SQS 没有 Kafka 快,也不适合高工作量,它更适合每秒事件数不多的事件。
例如,如果您想对一些 S3 文件上传做出反应(开始对该文件进行一些处理),SQS 非常好。
AWS 中还有一个概念是 Amazon SNS,它像 Kafka 一样基于发布订阅者,但 SNS 中没有任何消息保留策略。 它用于即时消息,如电子邮件、短信等。它只能在订阅者可用时向订阅者推送消息。 否则消息将丢失。 但是,带有 SNS 的 SQS 可以克服这个缺点。 带有 SQS 的 Amazon SNS 称为扇出模式。 在此模式中,发布到 SNS 主题的消息被并行分发到多个 SQS 队列,并且 SQS 队列确保持久性,因为 SQS 具有保留策略。 它可以保留消息长达 14 天(默认 4 天)。 带有 SNS 的 Amazon SQS 可以实现高吞吐量的并行流式处理,并且可以替代 Apache Kafka。
更多推荐
所有评论(0)