gpt4 book ai didi

amazon-web-services - Amazon SNS 和 Amazon SQS 有什么区别?

转载 作者:行者123 更新时间:2023-12-03 03:57:13 35 4
gpt4 key购买 nike

什么时候我会使用 SNS 和 SQS,为什么它们总是耦合在一起?

最佳答案

SNS是一个分布式发布-订阅系统。当发布者将消息发送到 SNS 时,消息就会被推送给订阅者。

SQS是分布式排队系统。消息不会推送给接收者。接收者必须从SQS轮询或提取消息。消息不能同时被多个接收者接收。任何一个接收者都可以接收消息、处理和删除它。其他接收者稍后不会收到相同的消息。轮询本质上会在 SQS 中的消息传递中引入一些延迟,这与 SNS 不同,SNS 中的消息会立即推送给订阅者。 SNS 支持多种端点,例如电子邮件、SMS、HTTP 端点和 SQS。如果您希望未知数量和类型的订阅者接收消息,则需要 SNS。

您不必总是将 SNS 和 SQS 结合起来。除了 SQS 之外,您还可以让 SNS 将消息发送到电子邮件、SMS 或 HTTP 端点。将 SNS 与 SQS 结合起来有很多优点。您可能不希望外部服务与您的主机建立连接(防火墙可能会阻止从外部到您的主机的所有传入连接)。

您的端点可能会因为大量消息而死掉。电子邮件和短信可能不是您快速处理消息的选择。通过将 SNS 与 SQS 结合,您可以按照自己的节奏接收消息。它允许客户端离线,容忍网络和主机故障。您还可以实现有保证的交货。如果您将 SNS 配置为将消息发送到 HTTP 端点、电子邮件或 SMS,则多次发送消息失败可能会导致消息被丢弃。

SQS主要用于解耦应用程序或集成应用程序。消息可以在 SQS 中存储较短的时间(最多 14 天)。 SNS 将消息的多个副本分发给多个订阅者。例如,假设您要将应用程序生成的数据复制到多个存储系统。您可以使用 SNS 并将此数据发送给多个订阅者,每个订阅者将其收到的消息复制到不同的存储系统( S3 、主机上的硬盘、数据库等)。

关于amazon-web-services - Amazon SNS 和 Amazon SQS 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13681213/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com