AWS SQS 队列是否相互隔离?
Are AWS SQS queues isolated from each other?
假设我有两个单独的服务 A 和 B,它们的 SQS 队列都订阅了 SNS 主题 "topic-foo"。然后我向 SNS 主题 "topic-foo".
发布消息 m1
如果服务 A (sqs-A) 拥有的 SQS 队列看到消息 m1 并对其进行处理(即将其从队列中弹出并处理该消息,使其不再位于 sqs-A 上),我是否仍会保证服务 B (sqs-B) 拥有的单独 SQS 队列将始终能够查看和处理消息 m1? (换句话说,AWS SNS 发布是否保证多次传送到 SQS 队列并隔离单独的 SQS 队列处理?)
在您的情况下,您有两个 SQS 队列,每个队列都订阅了一个 SNS 主题。
在这种情况下,当您向 SNS 主题发送消息时,会向每个 SQS 队列添加一个项目。这两个队列是不同的和独立的,因此处理一个队列中的项目不会影响另一个队列中的项目。
这与SNS无关,纯粹是因为你的两个SQS队列是两个独立的SQS队列。 SNS 向他们发布的事实不会改变队列的行为方式。
假设我有两个单独的服务 A 和 B,它们的 SQS 队列都订阅了 SNS 主题 "topic-foo"。然后我向 SNS 主题 "topic-foo".
发布消息 m1如果服务 A (sqs-A) 拥有的 SQS 队列看到消息 m1 并对其进行处理(即将其从队列中弹出并处理该消息,使其不再位于 sqs-A 上),我是否仍会保证服务 B (sqs-B) 拥有的单独 SQS 队列将始终能够查看和处理消息 m1? (换句话说,AWS SNS 发布是否保证多次传送到 SQS 队列并隔离单独的 SQS 队列处理?)
在您的情况下,您有两个 SQS 队列,每个队列都订阅了一个 SNS 主题。
在这种情况下,当您向 SNS 主题发送消息时,会向每个 SQS 队列添加一个项目。这两个队列是不同的和独立的,因此处理一个队列中的项目不会影响另一个队列中的项目。
这与SNS无关,纯粹是因为你的两个SQS队列是两个独立的SQS队列。 SNS 向他们发布的事实不会改变队列的行为方式。