Apache kafka 卡夫卡如何连接';什么是行为工作?

Apache kafka 卡夫卡如何连接';什么是行为工作?,apache-kafka,apache-kafka-connect,Apache Kafka,Apache Kafka Connect,我正在给Elasticsearch写一个Kafka水槽连接器 我在任务类中实现了start、put、flush和close方法 但是,我不知道卡夫卡的行为到底起什么作用 如果Connect Worker重复执行所有这些任务,即通过put()方法从Kafka代理获取SinkRecord,在内部对其进行处理,然后将数据发送到Elasticsearch,我想知道何时在内部操作偏移提交,它与flush()方法相关联 此外,我想知道这种重复性工作的顺序是否是固定的。例如,可以在put完成之前进行刷新或提交

我正在给Elasticsearch写一个Kafka水槽连接器

我在任务类中实现了start、put、flush和close方法

但是,我不知道卡夫卡的行为到底起什么作用

如果Connect Worker重复执行所有这些任务,即通过
put()
方法从Kafka代理获取SinkRecord,在内部对其进行处理,然后将数据发送到Elasticsearch,我想知道何时在内部操作偏移提交,它与
flush()
方法相关联

此外,我想知道这种重复性工作的顺序是否是固定的。例如,可以在put完成之前进行刷新或提交吗

我正在开发一个connect,它从远程代理接收数据,并将数据放入另一个远程服务器的elasticsearch中。在这种情况下,我们正在测试如果运行连接的服务器的网络暂时断开连接会发生什么情况。我不明白卡夫卡连接是如何工作的

如果您知道在这种情况下邮件可能会丢失或复制,请询问解释

多谢各位

当connect运行时,会暂时断开连接

从Connect worker使用的偏移量应更新
\uu consumer\u offset
内部卡夫卡主题

只要您监视连接器的
/status
端点是否处于非故障状态,并且可以在您正在使用的卡夫卡主题的保留期内重新启动连接器,就应该很少甚至没有数据丢失

此外,正如注释中指出的,您可以检查代码的提交和刷新语义。如果你做叉子,请写一份公关来帮助社区;)



此外,Logstash具有Kafka输入和Elasticsearch输出,因此如果您正在运行ELK stack,那么这可能是比出于兴趣编写自己的连接器更好的选择,您编写的内容与之有何不同?