clickhouse - ClickHouse Kafka 表引擎和仅一次支持
问题描述
我正在寻找一些关于 Kafka 表引擎是否支持仅一次语义的清晰度。我了解 clickhouse 使用 librdkafka,并且 librdafka 从 v1.4 开始支持 EOS。最新版本的 clickhouse 使用 librdkafka v1.5+。使用库是否足以确认 kafka 表引擎支持 EOS,或者表引擎功能是否需要额外更改才能支持 EOS?从clickhouse文档中我不清楚。
解决方案
在 CH 中实施两阶段提交之前,没有使用 Clickhouse 的 EO。
https://github.com/ClickHouse/ClickHouse/issues/18668#issuecomment-752946654
顺便说一句 - 虽然 EOS 语义将保证您不会在 Kafka 端发生重复(即即使您多次生成相同的消息,它也会被消费一次),但作为 kafka 客户端的 ClickHouse 只能保证至少一次。在某些极端情况下(连接丢失等),您可能会得到重复。为了避免这种情况,我们需要在 clickhouse 端进行类似交易。
推荐阅读
- reactjs - React - 无法将项目添加到 Redux 中的列表
- string - 在 OCaml 中连接字符串
- android - AGPBI 错误,在样式中找不到资源动画
- ruby-on-rails - 来自多维数组的 Rails 导航菜单
- python - 替换多个或重叠的值
- expression - shift-reduce 与表达式的冲突
- python - 使用 Python Flask 读取多个文件
- xml - 写入 dae 时,Scenekit 会自动为节点名称中的空格插入下划线
- ios - UIImageView tintColor 设置,无论如何都不对图像应用颜色
- r - 更改 Shiny tableOutput 中的字体颜色