这是我对SQS的内部架构感到好奇的问题。我似乎没有找到有关其建筑设计的深入介绍。
从this basic architecture doc中,我了解到每条消息都冗余存储在多个SQS服务器中。
我想知道SQS如何计算应使用哪些SQS服务器集来存储给定消息?它是否只是随机选择一组服务器,然后在索引服务器中维护message_id-> server_list映射?或者,也许SQS服务器被分为多个冗余组,然后SQS计算每个消息的哈希值,然后计算每个组中的服务器“索引”?
答案 0 :(得分:1)
SQS不提供通过ID访问消息的API。因此,无需给定ID即可将其映射到特定的服务器实例,该ID会使您的猜测都不正确。