谁能用分布式计算术语来解释,为什么AWS SNS标准主题可以传递多条消息,而这在SNS FIFO主题中是严格不允许的。后面的建筑是什么?
文件上说:
**Best-effort deduplication**:
A message is delivered at least once, but occasionally more than one copy of a
message is delivered.发布于 2021-12-18 09:56:11
它认为SQS中的短轮询说明了为什么分布式系统有时工作方式不同,然后完全集中:
当您使用短轮询从队列中使用消息时,Amazon对其服务器子集(基于加权随机分布)进行采样,并仅从这些服务器返回消息。因此,特定的ReceiveMessage请求可能不会返回所有消息。
AWS没有分享其内部架构的确切细节,但我认为类似的情况可能解释了为什么SNS可能会传递重复的消息。也就是说,支持SNS的某些服务器可能不会收到通知,通知给定的msg已经及时交付,并重新发送它。
SNS FIFO可能需要一个集中的系统来管理msgs,但同时它的在整个中比非FIFO低。
发布于 2021-12-19 05:07:39
在SNS标准(至少一条消息)的情况下,客户端ACK可能有时(网络故障/分区)或其他情况下失败。如果服务器剂量接收到ACK,它将重新尝试进行相同的消息传递。在这些罕见的情况下,客户端可能会收到另一份相同消息的副本。
当AWS SNS FIFO保证存在最多一条消息时,AWS只需为FIFO SNS提供一套非常“易得”的硬件,而在分布式系统中则不正确地最多确认1条消息。此外,对于有序消息的确认,它必须保持高度的一致性。
https://stackoverflow.com/questions/70401926
复制相似问题