jdbc - Debezium/JDBC 和 Kafka 主题保留

标签 jdbc apache-kafka debezium

我将 Debezium 放在容器中,捕获 PostgeSQL 数据库记录的所有更改。另外还有一个 Kafka 容器来存储主题消息。最后,我有了一个 JDBC 容器来将所有更改写入另一个数据库。

这三个容器按预期工作,在特定表上执行数据库中旧数据的快照,并在反射(reflect)到目标数据库时流式传输新更改。

我发现在此流式传输期间,PostgreSQL WAL 不断增加,为了克服这种情况,我在源连接器上启用了以下属性来清除所有检索到的日志。

"heartbeat.interval.ms": 1000

现在,随着检索到的内容更改为刷新,PostgreSQL WAL 文件在每次心跳中都会被清除。但与此同时,即使更改被提交到辅助数据库中,kafka 主题仍保持准确的大小。

是否有任何方法或属性可以强制 kafka 删除已提交的消息?

最佳答案

消费者无法控制主题保留。

您可以直接编辑主题配置以减少保留时间,但您的消费者必须在该时间内读取数据。

关于jdbc - Debezium/JDBC 和 Kafka 主题保留,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74686768/

相关文章:

apache-kafka - 使用 Debezium 提取 key 的转换中不存在字段

java - 我可以在 jdbc 中使用批处理执行查询吗?

java - 如何使用原始 SQL 在 jOOQ 中进行批量插入?

java - Python > 使用 JDBC 连接到 Oracle 服务名称 (jaydebeapi)

java - 磁盘持久性和复制?

java - 如何从 Debezium 创建的 avro 消息中获取字段?

java - 我有选择查询问题

apache-kafka - shell脚本中的kafka消费者

scala - Actor 的 Spark 流

java - 无法使用泛型使用 Jackson 反序列化动态 json