开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

Flink CDC中共用连接池是不是会导致不同任务中同一张表的cdc会有冲突?

Flink CDC中我通过更改源码那个连接池默认设置,改成200,现在不报这个错了,但是共用连接池是不是会导致不同任务中同一张表的cdc会有冲突?比如任务1有表a,任务2也有有表a,是由于共享连接池导致的吗?
我把之前的任务都关掉重启,现在可以了,多任务启动没有问题了,难道只能通过源码更改那个连接池默认设置吗?或者我要在第一次创建表ddl的时候设置:connection.pool.size
8df087856bff483e401e3a210cf7e0e9.png
我改的是这里这个值。

展开
收起
十一0204 2023-08-09 08:39:56 131 0
1 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    共用连接池可能导致不同任务中的同一张表的 CDC 产生冲突的情况。当多个任务共享连接池时,它们会共享同一个数据库连接,这可能会导致并发读取和写入操作的冲突。

    为了避免这种冲突,你可以考虑以下解决方案:

    使用独立的连接池:为每个任务创建独立的连接池,确保每个任务都有自己的数据库连接。这样可以避免不同任务之间的冲突。

    使用事务隔离级别:在连接池配置中设置适当的事务隔离级别,以确保并发读写操作的正确性。根据你的需求,可以选择合适的事务隔离级别,如读已提交(Read Committed)或可重复读(Repeatable Read)。

    分离表的 CDC:如果可能,将不同任务中的同一张表的 CDC 分离开来,使每个任务都有自己的表。这样可以避免不同任务之间的冲突,并更好地管理数据的读写操作。

    关于你提到的在第一次创建表 DDL 时设置连接池大小,这是一个可行的方法。你可以在创建表的 DDL 语句中设置连接池大小,确保每个任务都有适当的连接池大小。

    2023-08-13 17:09:30
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 热门讨论

    热门文章

    相关电子书

    更多
    Flink CDC Meetup PPT - 龚中强 立即下载
    Flink CDC Meetup PPT - 王赫 立即下载
    Flink CDC Meetup PPT - 覃立辉 立即下载