请问下,Flink CDC 中debezium1.6之后开始依赖JDK11,flink是怎么做到?[阿里云实时计算 Flink版]

请问下,Flink CDC 中debezium1.6之后开始依赖JDK11,flink是怎么做到debezium1.9.7.Final在JDK8下也能使用的

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
2 条回复 A 作者 M 管理员
  1. Flink CDC 使用的是 Debezium Connectors 的源码,但并不直接依赖于 Debezium。相反,Flink CDC 将 Debezium Connectors 进行了重构,并移植到 Flink Connectors API 中。因此,Flink CDC 本身可以兼容较低版本的 Flink。

    具体来说:

    1. Debezium 1.6+ 版本开始要求使用 JDK 11。 2. 但是 Flink CDC 并没有直接依赖 Debezium,而是将 Debezium Connectors 源码移植到 Flink Connectors API 中。 3. 因此,Flink CDC 可以兼容较低版本的 Flink,只需要满足当前使用的 Flink 版本即可。 4. Flink CDC 定期与 Debezium 同步源码,并保持与自身 Flink 版本的兼容性要求。

    举个例子来说明:

    – Debezium 1.6 需要 JDK 11。 – 但是 Flink CDC 2.4.0(当前稳定版本)仍然可以与 Flink 1.14.2(支持 JDK 8)兼容。 – 这是因为 Flink CDC 并不直接使用 Debezium 的 JAR 包,而是基于 Debezium Connector 的源码实现的。

    综上所述,Flink CDC 可以独立于 Debezium 对 JDK 的要求,只需要满足自身所依赖的 Flink 版本的要求即可。

  2. Flink CDC 使用 Debezium Connectors 作为源码,但并非直接依赖 Debezium。
    Flink CDC 将 Debezium Connectors 重构并移植到 Flink Connectors API 中,因此 Flink CDC 本身依旧可以兼容低版本的 Flink。
    具体来说:
    Debezium 1.6+ 已经开始需要 JDK 11
    但 Flink CDC 并没有直接依赖 Debezium,而是基于 Debezium Connector 源码,移植到 Flink Connectors API 中
    所以 Flink CDC 可以兼容低版本的 Flink(支持 JDK 8),只要 Flink 当前版本支持即可
    Flink CDC 会定期与 Debezium 同步源码,并保持兼容本身的 Flink 版本要求
    举个例子:
    Debezium 1.6 需要 JDK 11
    但 Flink CDC 2.4.0(当前稳定版)依然可以与 Flink 1.14.2(支持 JDK 8)兼容
    这是因为 Flink CDC 并没有直接使用 Debezium Jar 包,而是基于 Debezium Connector 源码实现的。
    所以总的来说,Flink CDC 可以独立于 Debezium 的 JDK 要求,只要兼容本身 Flink 版本即可。
    希望以上解释能为你提供参考!如