Issue
To develop my Kafka connector I need to add a connect-API dependency.
Which one I should use?
For example mongodb connector use connect-api from href="https://mvnrepository.com/artifact/org.apache.kafka/connect-api" rel="noreferrer">maven central
But links from dev guide go to https://packages.confluent.io/maven/org/apache/kafka/connect-api/5.5.0-ccs/ and beside 5.5.0-ccs
there is also 5.5.0-ce
version.
So, at this moment last versions are:
- 2.5.0 from maven central
- 5.5.0-ccs from packages.confluent.io/maven
- 5.5.0-ce from packages.confluent.io/maven
What difference between all three variants?
Which one I should use?
Solution
The 5.x version refer to Releases from Confluent whereas the 2.5.0 refers to the Open Source Apache Kafka project.
According to this documentation the ce
belongs to the complete Confluent Platform, including all community and commercial component packages and the ccs
to the Confluent Community component packages.
This doc on licenses around Confluent/Kafka will give you more details.
According to Confluent documentation on inter-compatibility:
Confluent Platform and Apache Kafka Compatibility
Confluent Platform Apache Kafka
7.1.x 3.1.x
7.0.x 3.0.x
6.2.x 2.8.x
6.1.x 2.7.x
6.0.x 2.6.x
5.5.x 2.5.x
5.4.x 2.4.x
5.3.x 2.3.x
... ...
Kafka-Connect is part of Open Source Apache Kafka and of both Confluent packages, so it would not matter which version to use. There is a difference when it comes to pre-build/supported connectors available in the confluent packages compared to Open source version. As you plan to build your own, it would not matter.
This blog post is a nice introduction to Confluent Hub.
Answered By - Michael Heil
Answer Checked By - Terry (JavaFixing Volunteer)