Closed jsding closed 4 years ago
其实是一个 取舍问题, loop 次数可以调大,也可以在写失败发送告警,用户可以自己去修改对应的策略
如果kafka设置手动commit offset就可以保证了。不然现在如果clickhouse集群停机维护,必然会出现后面的一个批次数据丢失的问题。
@jsding 现在sinker已经是优雅关闭了,所以每次关闭的时候 会commit最后一次offset。
你说的是 clickhouse停机维护,在不关闭sinker的情况下,如何保证一致性。 手动commit 是一个可行的方法,但是sarama库没有暴露 flushtoBroker 方法(你可以加一下就2行代码),然后在 LoopWrite 成功后,手动提交一下最后的offset。
请问, 如果clickhouse down掉, 最后一次批次的数据LoopWrite失败,这个批次的数据可会丢失?