ClickHouse Kafka Table Engine 和 exactly once 支持
ClickHouse Kafka Table Engine and exactly once support
我想弄清楚 Kafka Table 引擎是否支持 exactly once 语义。
我知道 clickhouse 使用 librdkafka,并且 librdafka 从 v1.4 开始支持 EOS。最新版本的 clickhouse 使用 librdkafka v1.5+。使用该库是否足以确认 Kafka table 引擎支持 EOS,或者 table 引擎功能是否需要额外更改才能支持 EOS?我不清楚 clickhouse 文档。
在 CH 中实施两阶段提交之前,Clickhouse 没有 EO。
https://github.com/ClickHouse/ClickHouse/issues/18668#issuecomment-752946654
顺便说一句 - 虽然 EOS 语义会保证你不会在 Kafka 端发生重复(即即使你多次生成相同的消息,它也会被消费一次),但 ClickHouse 作为 kafka客户只能保证至少一次。在某些极端情况下(连接丢失等),您可以获得重复项。
我们需要在 clickhouse 端有类似交易的东西才能避免这种情况。
我想弄清楚 Kafka Table 引擎是否支持 exactly once 语义。 我知道 clickhouse 使用 librdkafka,并且 librdafka 从 v1.4 开始支持 EOS。最新版本的 clickhouse 使用 librdkafka v1.5+。使用该库是否足以确认 Kafka table 引擎支持 EOS,或者 table 引擎功能是否需要额外更改才能支持 EOS?我不清楚 clickhouse 文档。
在 CH 中实施两阶段提交之前,Clickhouse 没有 EO。
https://github.com/ClickHouse/ClickHouse/issues/18668#issuecomment-752946654
顺便说一句 - 虽然 EOS 语义会保证你不会在 Kafka 端发生重复(即即使你多次生成相同的消息,它也会被消费一次),但 ClickHouse 作为 kafka客户只能保证至少一次。在某些极端情况下(连接丢失等),您可以获得重复项。 我们需要在 clickhouse 端有类似交易的东西才能避免这种情况。