我有一个请求队列和一个响应队列。我想将消息从请求队列中取出并放入响应队列中。我希望能够确定从请求队列中取出的相同消息已经放入了响应队列中。
我在GAE上使用Boto。
首先,我假设消息id是常量。因此,我从请求队列中读取消息,将相同的消息对象添加到响应队列,并查询id - SQS是否生成了一个新的id-SQS。
其次,我的消息体是一个json对象,所以我添加了一个自定义字段'messageId‘,并生成了我自己的id来存储在队列中。但是后来我发现,一次从队列中读取10条消息是有限制的。此外,由于SQS的分布式特性,不能保证消息会被返回。
发布于 2012-06-26 00:47:41
您的消息将被传递,只是不一定是在任何给定的获取它的请求上,因为您将与后端服务器的随机子集交谈。在SQS中,没有办法说,“我知道有3条消息给我,现在就给我。”你能做的最好的事情就是轮询,直到你最终收到它们。RabbitMQ相当整洁,但它并不是万能的正确选择,如果你想要更少的延迟,更多的可预测性和有序的消息,可以看看SQS。唯一的问题是兔子现在的规模是你的问题。
https://stackoverflow.com/questions/11182896
复制相似问题