首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >什么属于DLQ /无效消息队列?

什么属于DLQ /无效消息队列?
EN

Stack Overflow用户
提问于 2013-06-05 17:30:16
回答 1查看 1.9K关注 0票数 3

关于允许应用程序拒绝哪种类型的消息,有没有一个好的最佳实践?

我的理解是,所有无法处理的消息都应该被拒绝到死信队列中-无论问题是消息中的语法错误还是语义错误,或者应用程序暂时无法处理消息(例如,因为数据库刚刚宕机)。

当然-如果应用程序已经预先知道它将无法处理消息(DB down),它应该停止接受消息。

那么,通常的理解/最佳实践是什么呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-05 18:19:47

我的回答是关于WebSphere MQ的:

死信队列( Dead Letter Queue,简称DLQ)是存放无法投递到目的地的邮件的地方。消息可以由队列管理器、消息通道代理( message channel agent,MCAs)和应用程序放在DLQ上。DLQ上的所有消息都必须以死信标题结构MQDLH作为前缀。当队列管理器或MCAs放入消息时,MQDLH报头会自动修复,而应用程序必须显式地为MQDLH添加前缀。

就应用程序而言,如果它们无法处理消息,例如消息格式不被理解,它们可以将消息放入回退队列而不是DLQ。回退队列就像任何普通队列一样,可以在其中放置被应用程序拒绝的消息。BACKOUT queue的优点是,您可以在每个队列的基础上指定一个BACKOUT队列,并且放在那里的消息不需要带有MQDLH报头前缀。

可以编写一个应用程序来读取来自BACKOUT的消息,并按原样将它们路由回目标队列。但是,在将DLQ中的消息放入目标队列之前,需要进行额外的处理以删除MQDLH。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16936320

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档