我在一个容器中有Debezium,捕获PostgeSQL数据库记录的所有更改。此外,我有一个Kafka容器来存储主题消息。最后,我有一个JDBC容器来将所有更改写入另一个数据库。
这三个容器按预期工作,对特定表上的数据库中的旧数据执行快照,并在新更改反映到目标数据库时对其进行流式处理。
我已经发现在这个流过程中PostgreSQL WAL在增加,为了克服这种情况,我在源连接器上启用了以下属性来清除所有检索到的日志。
"heartbeat.interval.ms": 1000
现在PostgreSQL WAL文件在每次心跳中被清除,因为检索到的内容被刷新。但同时,即使更改被提交到辅助数据库,Kafka主题也保持着准确的大小。
是否有任何方法或属性进入sink连接器,强制Kafka删除已提交的消息?
1条答案
按热度按时间sshcrbum1#
消费者无法控制主题保留。
您可以直接编辑主题配置以缩短保留时间,但您的使用者必须在该时间内读取数据。