spring-messaging - 使用 SimpleMessageListenerContainer 的 SQS 消息丢失?
问题描述
SqsMessages 可以使用@SqsListener
或 spring 集成的SqsMessageDrivenChannelAdapter
. 两者都将实际轮询和处理委托给SimpleMessageListenerContainer
其具有可能影响消息消耗率的性能限制,如下所述:https ://github.com/awspring/spring-cloud-aws/issues/23
这会以这种方式导致消息丢失吗?考虑这种情况:
queue
在移动到 之前配置了 3 次重试dead-letter
,可见性超时为 30 秒消息第一次发送,但在 30 秒内没有被消费(和删除)
第二次发送消息,在 30 秒内再次未使用(和删除)
同样第三次,现在消息被移动到
dead-letter
这可能吗?是否还会出现消息丢失的情况,即消息经过保留期并且由于处理速度慢而从未传递给消费者SimpleMessageListenerContainer
?
是否还有其他可能丢失消息的情况?我错过了什么吗?我们如何保证没有消息丢失?
解决方案
推荐阅读
- javascript - 如何停用智能向导步骤
- php - 绑定到等于 mysqli 的 PDO 中不同值的正确方法是什么?
- xml - SaxonHE:如何在 XQuery 执行中使用 XSD 类型
- javascript - bower_concat SyntaxError: missing ) 在参数列表之后
- laravel - 这怎么可能发生?npm 错误!缺少脚本:“热”
- java - 如何在以下代码上使用递归技术?
- git - Git 无法在标签上创建分支
- amazon-web-services - 如何将 aws polly 与 lex web ui 集成
- c# - C# WinForm ChartControl 有时实时显示为零
- python-3.x - Matplotlib 使用 avxspan 绘制布尔数据