Java 将debezium引擎集成到spring引导应用程序
我的所有服务都有一个公共表Java 将debezium引擎集成到spring引导应用程序,java,spring,spring-boot,debezium,Java,Spring,Spring Boot,Debezium,我的所有服务都有一个公共表action\u log,模式完全相同。所有服务都有自己的数据库主机。我想捕获操作日志中的所有更改,并将其推送到Kafka,然后从表中删除相应的行 好的,如果我为此部署Debezium Kafka连接器,我可能需要使用尽可能多的连接器(因为您只能在连接器属性中指定一个db主机) 另一种对我有效的方法是嵌入式Debezium引擎,在这里我将更改事件作为应用程序事件获取,并可以管理它以推送到Kafka。很少有人对这种方法持反对/怀疑态度: 如何将偏移量写入持久存储(如db表
action\u log
,模式完全相同。所有服务都有自己的数据库主机。我想捕获操作日志中的所有更改,并将其推送到Kafka,然后从表中删除相应的行
好的,如果我为此部署Debezium Kafka连接器,我可能需要使用尽可能多的连接器(因为您只能在连接器属性中指定一个db主机)
另一种对我有效的方法是嵌入式Debezium引擎,在这里我将更改事件作为应用程序事件获取,并可以管理它以推送到Kafka。很少有人对这种方法持反对/怀疑态度:
如何将偏移量写入持久存储(如db表)而不是写入文件
如果我将引擎部署到生产环境中,其中运行着同一应用程序的多个pod,如何确保两个pod不会同时拾取同一事件?
我可以将偏移量.flush.interval.ms设置为最小值,以便立即进行偏移量刷新。但偏移量总是有可能被小于当前值的值覆盖
如何从我的action\u日志
表中删除提交偏移量后已处理的所有记录
一般来说,Debezium引擎是一个生产就绪的解决方案吗?关于Debezium引擎,这个问题非常具体。我知道很多公司都在CDC使用Debezium Kafka连接器