AWS SQS和Lambda作为使用者的优先级队列

问题描述 投票:1回答:1

我有一个消息传递用例问题。

截至目前,我们在AWS SQS中有一个队列,例如,该队列上的origQueue和基于lambda的消息消耗。

现在,为了满足基于优先级(高,中,低)消息消耗的一个特定功能(基于消息中设置的'优先级'号码),我想有一组3个队列,其中每个队列是属于不同的优先级。在最高优先级队列上,将继续发生开箱即用的基于lambda的消息消耗。批处理过程将以5分钟的间隔继续运行。每个都从中优先级队列中推广一些消息。目前还没有想到这个批处理过程的逻辑,但它可能是任何东西,比如拿起10个中优先级消息和5个低优先级消息,这些消息都超过1小时并将它们提升到高优先级队列,这样它们就可以了可以通过上面提到的开箱即用的基于lambda的消息消费来消费。

所以在走这条路之前,我只是想收集其他潜在的想法。是否有任何开箱即用的AWS功能或任何模式来解决此基于优先级的消息消费问题?

附:

我想出的另一种(未选择的)方法是在队列中“插入”项目,考虑优先级,这将保持队列始终按优先级排序。但这种“运行时动态插入”似乎不可行,因为传入消息流始终打开。

amazon-web-services aws-lambda amazon-sqs
1个回答
1
投票

AWS推荐的方式是您首先建议的,具有3个单独的SQS队列,即每个优先级一个。请参阅页面底部的suggestion here。无论消耗哪个队列都必须单独协调,因为没有队列“知道”他们的优先级本身就是什么。

© www.soinside.com 2019 - 2024. All rights reserved.