2016-02-01 10 views
5

Che cosa c'è di diverso nella seguente dipendenza Maven per l'API del client Kafka 0.9?Qual è la differenza tra kafka artifactIds kafka_2.10 e kafka-clients?

Parte 1:

<dependency> 
    <groupId>org.apache.kafka</groupId> 
    <artifactId>kafka_2.10</artifactId> 
    <version>0.9.0.0</version> 
    <exclusions> 
     <exclusion> 
      <groupId>log4j</groupId> 
      <artifactId>log4j</artifactId> 
     </exclusion> 
    </exclusions> 
</dependency> 
<dependency> 
    <groupId>org.scala-lang</groupId> 
    <artifactId>scala-library</artifactId> 
    <version>2.10.0</version> 
</dependency> 

Parte 2:

<dependency> 
    <groupId>org.apache.kafka</groupId> 
    <artifactId>kafka-clients</artifactId> 
    <version>0.9.0.0</version> 
</dependency> 

risposta

4

Il kafka-clients è stato introdotto solo di recente ed è pensato per contenere i nuovi clienti, che sono implementazioni Java puro e pulito isolati dal server codice. I vecchi clienti (compreso quello che chiamiamo il "vecchio" consumatore da quando un nuovo consumatore è in fase di sviluppo, ma in realtà è il "corrente" consumatore) sono nel modulo principale (kafka_<scala_version>).

source

+0

Se utilizzo kafka_2.10 0.9.0.0, Significa che utilizziamo l'API client Kafka 0.9 ?? –

+0

Sì, dovresti aggiungere la dipendenza per Kafka 0.9 in pom.xml come: .apache.kafka Kafka clienti 0.9.0.0

+0

molto apprezzato !! –

2

Kafka_2.10 dipendenza significa che la corrente Kafka è implementato in Scala 2.10, che è il linguaggio di programmazione Kafka è scritto in. Kafka-clienti 0.9.0.0 significa che il cliente può comunicare con Kafka di versione 0.9.0.0.

Per riassumere, 2,10 è il linguaggio di programmazione della versione # di Scala mentre la 0.9.0.0 è la versione di Kafka della piattaforma di streaming #.

Problemi correlati