监控Amazon SQS延迟处理

时间:2015-12-18 15:02:56

标签: amazon-sqs

我有一系列使用SQS队列消息的应用程序。如果出于某种原因,其中一个消费者失败并停止消费消息,我希望得到通知。最好的方法是什么?

请注意,其中一些队列每2到3天只能有一条消息放入队列,因此等待队列中的#消息触发通知对我来说不是一个好选择。

我正在寻找的东西可以监控SQS队列并说“#34;这条消息已经在这里待了一个小时而且没有任何处理它......让别人知道。&#34; < / p>

1 个答案:

答案 0 :(得分:0)

我可能的解决方案(可能不是最优雅的解决方案)根本不需要使用CloudWatch(根据OP的评论,无法通过CloudWatch警报实现所需的跟踪)。假设您要在服务中处理队列,并且通过长轮询实现接收方。 运行Lambda函数(比如说每小时),监听队列并读取消息,但永远不要删除(服务删除处理后的消息)。在队列中将最大接收设置为您想要的任何值,让我们说3.如果Lambda函数运行3次并且队列中存在所有三次消息,则消息将被推送到死信队列(如果重新启动策略已设置)。每当新消息被推送到死信队列时,它都是一个很好的指示,表明您的服务已经关闭或者没有足够快地处理请求。所有变量都可以根据您的需要进行更改