Debezium 嵌入式数据库连接管理/池化



我正在使用嵌入式Debezium,并且在单个应用程序开发环境中似乎对我来说工作得很好。 但是,我担心在多节点环境中会出现这种情况,在该环境中,应用程序的多个实例将尝试打开与同一数据库的连接以监视日志。 是否需要连接池实现? 我在文档中找不到有关此的信息。

虽然我不是 Debezium 的专家,但我确实管理 IBM 数据复制产品组合,所以这个答案是考虑到这一点的。

定义:

更改数据馈送 = 对通过恢复/事务/撤消日志捕获的多个表之一进行的插入、更新、删除

通常,如果变更数据事件源有多个使用者,则适当的设计选择是将该源放入队列一次,然后在该队列上有多个读取器,从而避免需要多个日志读取器。

然后,队列可以由多个使用者读取。 队列的示例包括"临时审核表",即包含更改源的表。 您需要定期清理审核表,以防止它们变大。

另一个流行的选择是分期到卡夫卡。 卡夫卡面向的读者很多,作家数量少。

一些成熟的产品(如 IBM 数据复制产品组合(具有专为满足原始更改源的许多使用者的用例而设计的功能,即所谓的"抓取缓存"或"单个抓取程序"。 通过这种方式,复制工具可以将原始更改源发送到许多目标,包括数据库、Hadoop 和 Kafka,只需在源数据库上读取一个日志。

干杯!

最新更新