【发布时间】:2018-04-24 05:59:53
【问题描述】:
我正在为 Elasticsearch 编写一个 Kafka Sink 连接器。
我在 SinkTask 类中实现了 start、put、flush、close 方法。
但是,我不知道 Kafka Sink Connector 的行为到底是什么。
如果Connect Worker重复执行所有这些任务,通过put()方法从Kafka Broker获取SinkRecord,内部处理,然后将数据发送到Elasticsearch,我想知道offset commit是什么时候在内部操作的,它是与flush() 方法相关联。
另外,我想知道这种重复工作的顺序是否固定。比如,flush或者commit可以在put完成之前完成吗?
我正在开发一个连接,它从远程代理接收数据并将数据放入另一个远程服务器的弹性搜索中。在这种情况下,我们正在测试如果运行连接的服务器的网络暂时断开连接会发生什么。我不明白 Kafka Connect 的工作原理。
如果您知道在这种情况下消息可能会丢失或重复,请寻求解释。
谢谢。
【问题讨论】:
-
出于兴趣,你写的和the existing Elasticsearch Connector有什么不同?
标签: apache-kafka apache-kafka-connect