首页 > 解决方案 > Kafka Source Connector 端是否可以有 DeadLetter Queue 主题?

问题描述

Kafka Source Connector 端是否可以有 DeadLetter Queue 主题?我们对 IBM MQ Source 连接器处理的事件有一个挑战,它正在处理 N 条消息但发送 N-100 条消息,其中 100 条消息是 Poison 消息。但是从下面 Robin Moffatt 的博客中,我可以看到在源连接器端有 DLQ 是不可行的。

https://www.confluent.io/blog/kafka-connect-deep-dive-error-handling-dead-letter-queues/ 上面文章中提到的以下注意事项: 注意源连接器没有死信队列。

1Q)请确认是否有人为 IBM MQ 源连接器使用了 Deadletter 队列(以下是文档) https://github.com/ibm-messaging/kafka-connect-mq-source

2Q) 有人在任何其他源连接器端使用 DLQ 吗?3Q) 为什么在源连接器端没有 DLQ 会受到限制?

谢谢。

标签: apache-kafkaapache-kafka-connectdead-letter

解决方案


errors.tolerance也可用于源连接器 -参考文档

但是,如果将其与接收器进行比较,则不,DLQ 选项不可用。相反,您需要使用事件详细信息解析连接器日志,然后将其通过管道传输到您自己的主题。


总的来说,源连接器将如何决定哪些事件是坏的?网络连接异常意味着根本不会读取任何消息,因此不会产生任何内容。如果消息无法序列化为 Kafka 事件,那么它们也将无法生成……您的选择是快速失败,或者跳过并记录。

如果您只想按原样发送二进制数据,那么使用 ByteArrayConverter 类可以完成任何事情都不会是“有毒的”,但这对于 Kafka Connect 来说并不是一个很好的用例,因为它主要是围绕结构化类型设计的可解析模式,但至少使用该选项,数据进入 Kafka,您可以使用 Kstreams 从坏消息中分支/过滤好消息


推荐阅读