- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
关于允许应用程序拒绝什么样的消息,是否有一个好的最佳实践?
我的理解是所有无法处理的消息都应该被拒绝到死信队列 - 无论问题是消息中的语法错误还是语义错误,或者应用程序是否暂时无法处理消息(例如,因为数据库刚刚下降)。
当然 - 如果应用程序已经预先知道它将无法处理消息(数据库关闭),它应该停止接受消息。
那么什么是共同的理解/最佳实践?
最佳答案
我的回答是关于 WebSphere MQ:
死信队列(简称 DLQ)是一个放置无法传递到目的地的消息的地方。消息可以由队列管理器、消息 channel 代理 (MCA) 和应用程序放置在 DLQ 上。 DLQ 上的所有消息都必须以死信 header 结构 MQDLH 为前缀。当队列管理器或 MCA 放置消息时,MQDLH header 会自动修复,而应用程序必须明确地为 MQDLH 加上前缀。
就应用程序而言,如果它们无法处理消息,例如无法理解消息格式,它们可以将消息放入 BACKOUT 队列而不是 DLQ。 BACKOUT 队列就像任何普通队列一样,可以放置被应用程序拒绝的消息。 BACKOUT 队列的优点是您可以在每个队列的基础上指定一个 BACKOUT 队列,并且放置在那里的消息不需要带有 MQDLH header 前缀。
可以编写一个应用程序来读取来自 BACKOUT 的消息并将它们按原样路由回目标队列。但是,DLQ 中的消息需要额外的处理才能在将它们放入目标队列之前移除 MQDLH。
关于error-handling - 什么属于 DLQ/无效消息队列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16936320/
我试图修改Logstash 7.6,以便将失败的消息发送到SQS DLQ [1]。具体来说,当Logstash使用SQS输入插件和elasticsearch输出插件时,我需要进行此修改。我在过滤器部分
有谁知道如何从 jBoss 中清除 DeadLetterQueue? 当我启动 jBoss 时,它在以下位置等待 4 分钟: 12:09:06,281 INFO [ConnectionFactory
我正在使用以下服务器端重新传递配置
private BrokerService createBroker() throws IOException, Exception { BrokerService broker =
作为操作人员(不是开发人员)并基于 http://activemq.apache.org/message-redelivery-and-dlq-handling.html我试图在集成到 JBoss F
关于允许应用程序拒绝什么样的消息,是否有一个好的最佳实践? 我的理解是所有无法处理的消息都应该被拒绝到死信队列 - 无论问题是消息中的语法错误还是语义错误,或者应用程序是否暂时无法处理消息(例如,因为
我们有一个外部 SB 主题订阅,我们是其消费者。我们当前正在读取最大并发线程数为 20 的 SB。 我想知道偶尔耗尽 DLQ 的最佳方法是什么?它应该包含在同一个应用程序中还是我应该创建另一个应用程序
我最近开始研究目前在我们的项目中使用的 Azure 服务总线模块。当前的模型是,我们向一个主题发送消息,并且该主题有多个订阅。订阅没有过滤器,订阅者使用它(当前不打算添加过滤器)。 问题:假设有 1
我正在使用 AMQ 5.5。我想禁用将死信发送到 ActiveMQ.DLQ 目的地的选项,并完全丢弃(自动)否则将发送到那里的消息。为此,我按如下方式配置了代理:
我们将 spring jms 与 activeMQ 一起使用,我们想重命名 DLQ。这背后的原因是我们有几个项目,我们希望每个项目都有一个单独的 DLQ。 到目前为止,我只看到了如何设置单独的 DLQ
我有一个触发 Lambda 的 DynamoDB 流,我想将任何失败的事件推送到 DLQ。 如果 DLQ 的源是 SQS 队列,看起来您可以执行称为重新驱动回源队列的操作,DLQ 中的消息将被移回源队
当本地队列管理器在其 AMQ 错误日志中收到以下消息时: 09/13/12 08:00:19 - Process(3017.20) User(mqm) Program(amqrmppa_nd) AMQ
Azure 服务总线实体(队列/主题)支持生存时间 (TTL)。当 TTL 过去时,消息就会过期。到期时,系统会删除该消息或将其移至死信队列 (DLQ)。 服务总线是否有其他设置可以在指定时间段后从
当消息传递到 Azure 服务总线死信队列时,我尝试发送邮件警报。我没有找到任何合适的解决方案来发送邮件警报。我们可以在 azure 还是 .net core 的哪一侧处理这个问题?如果是这样,任何人
我已经设置了 dlq 和 dlx,但是失败的消息没有重定向到 dlq。我正在尝试从 java 应用程序以及从 rabbitmq 服务器向 MESSAGES.EXCHANGE 发送消息,在这两种情况下我
Azure 队列存储和 Azure 服务在死信队列和有害消息方面有何区别? 如何从这些队列中读取消息? 最佳答案 有害消息是发送到队列或主题但消费应用程序无法正确处理的消息。 一旦DeliveryCo
当消息传递到 Azure 服务总线死信队列时,我尝试发送邮件警报。我没有找到任何合适的解决方案来发送邮件警报。我们可以在 azure 还是 .net core 的哪一侧处理这个问题?如果是这样,任何人
我已经设置了 dlq 和 dlx,但是失败的消息没有重定向到 dlq。我正在尝试从 java 应用程序以及从 rabbitmq 服务器向 MESSAGES.EXCHANGE 发送消息,在这两种情况下我
Azure 队列存储和 Azure 服务在死信队列和有害消息方面有何区别? 如何从这些队列中读取消息? 最佳答案 有害消息是发送到队列或主题但消费应用程序无法正确处理的消息。 一旦DeliveryCo
我必须使用 JMS API 处理死信队列 (DLQ) 中的消息。目标是读取原始消息的正文及其用户属性。我意识到这种 DLQ 处理方法可能被认为是糟糕的设计,但无论如何我都必须处理它。 使用 JMS 读
我是一名优秀的程序员,十分优秀!