问题描述
我们在Kafka Connect集群中部署了13个按Debezium监控的数据库(Amazon RDS)。 现在正在发生的事情是,这13个数据库中的1个具有一个复制插槽,该复制插槽的滞后性不断增加。
12个数据库的延迟为10到120 kB,而其中一个数据库的延迟超过700 MB。
使用
SELECT slot_name,pg_size_pretty(pg_wal_lsn_diff(pg_current_wal_lsn(),restart_lsn)) as replicationSlotLag,confirmed_flush_lsn)) as confirmedLag,active
FROM pg_replication_slots;
复制插槽处于活动状态;我检查了连接器的状态(GET kafka-connect:8083/<connector-name>/status
),并且连接器和任务都处于RUNNING状态。
要添加更多信息,我们启用了心跳和heartbeat.action.query
,可以在发件箱表中定期插入虚拟事件,因此我希望每个受监视的数据库每10秒收到一次新更改
我们已经尝试:
任何人都知道发生了什么事吗?
解决方法
看起来在滞后的数据库上手动执行 heartbeat.action.query
可以解决问题...仍然不知道为什么或何时发生