Debezium落地总结

背景

    前端时间介绍过debezium的架构,其是基于Kafka Connect实现的。官方也推荐运行在Kafka Connect集群中,这样能最大程度的保证高可用。Debezium 将监控进程或连接器分布在多台机器上,以便在出现任何问题时可以重新启动连接器。但是,我们还是打算在我们的应用程序中以jar的方式进行集成。

1、版本选择

版本更新还是比较快的,上次技术预研使用的1.6版本。本次逻辑打算 采用最新的版本1.9.6。此版本依赖还是比较多的,官方有张图:

需要jdk11+,我们用的是openjdk。由于使用的是基于spring cloud的微服务架构。上面所说的第三方依赖,最好都通过升级spring cloud、boot版本来实现。参考pom依赖配置:

11

2021.0.4.0

2021.0.4

   

       

            org.springframework.cloud

            spring-cloud-dependencies

            ${spring-cloud.version}

            pom

            import

       

       

            com.alibaba.cloud

            spring-cloud-alibaba-dependencies

            ${spring-cloud-alibaba.version}

            pom

            import

       

   

Debezium的POM依赖:

  io.debezium

  debezium-api

  1.9.5.Final

  io.debezium

  debezium-embedded

  1.9.5.Final

  io.debezium

  debezium-connector-mysql

  1.9.5.Final

2、参数配置

以jar的方式做集成还是比较简单的,示例代码直接参考官方的即可。但是在官网上,没有找到支持哪些参数。常用的参数:database.include.list、table.include.list。其它的一些参数没有在官方文档中找到说明。大家可以直接查看github上源码方式来查看支持哪些参数。具体的类为:RelationalDatabaseConnectorConfig。

database.include.list、table.include.list是支持正则表达式的。形如如下的配置:

props.setProperty("database.include.list", "device_[0-1]");

3、连接信息

这块官方文档说的非常明确的,以MySQL为例,直接参考官方文档即可。

https://debezium.io/documentation/reference/stable/connectors/mysql.html#mysql-create-events

另外,别的一些疑问,可以参考官方额FAQ,连接如下:https://debezium.io/documentation/faq/

尾记

  入门还是比较简单的,尤其是采用jar包集成的方式。效果如何,只能等待生产环境的检验了。踩坑是必须经历的,重要的是如何快速的解决,最终我们能把他应用好,已经是非常好的事情了。

你可能感兴趣的:(Debezium落地总结)