我一直在读关于JMS、ActiveMQ和Camel的文章。
据我所知,如果我们需要集成多个系统,其中集成只涉及相同格式的消息路由,activeMQ就足够了,否则我们可以选择camel。
现在,如果某些异常或事务回滚导致消息重新传递过期,activeMQ会将失败的消息发送到死信队列。我们没有使用Apache camel,因为activeMQ足以满足我们的需求,但是如果我想监控和审计失败的消息,我是否应该选择camel,或者它会增加开销吗?我以前没有使用过camel,所以如果有人能指导我如何监控死信消息。我们正在考虑为我们的每个主题或队列提供死信队列,并为客户提供审计日志。
发布于 2018-08-20 18:58:48
视情况而定。您希望如何处理DLQ消息?你预计会有多少个错误?
如果错误率非常低,并且很难预测如何处理错误,也许一些警报可以触发人类查看DLQ上的DLQ消息,以确定如何处理它。重试?提交错误报告?打电话给谁?
要监视DLQ,您可以使用JMX或它的http等效物Jolokia来监视队列,如果队列大小大于零,则发送警报。
当然,您可以使用Apache Camel以某种方式处理死消息。例如在电子邮件中发送,将其保存到错误报告系统或采取其他操作来提醒用户,使用不同的逻辑来处理消息或其他不。您可以在任何框架中编写此逻辑,而不仅仅是Apache Camel。但是Camel是个不错的选择。
无论如何,DLQ管理并没有什么灵丹妙药。您必须构建一个(手动或自动)满足您的需求和限制的系统。
https://stackoverflow.com/questions/51921813
复制相似问题