Usare Hub eventi di Azure da applicazioni Apache KafkaUse Azure Event Hubs from Apache Kafka applications

Hub eventi fornisce un endpoint Kafka che può essere usato dalle applicazioni Kafka esistenti come alternativa all'esecuzione del proprio cluster Kafka.Event Hubs provides a Kafka endpoint that can be used by your existing Kafka based applications as an alternative to running your own Kafka cluster. Hub eventi supporta il protocollo Apache Kafka 1.0 e versioni successive e funziona con le applicazioni Kafka esistenti, tra cui MirrorMaker.Event Hubs supports Apache Kafka protocol 1.0 and later, and works with your existing Kafka applications, including MirrorMaker.

Vantaggi di Hub eventi per KafkaWhat does Event Hubs for Kafka provide?

Hub eventi per la funzionalità di Kafka fornisce un head di protocollo basato su Hub eventi di Azure con compatibilità binaria con le versioni di Kafka 1.0 e successive per la lettura e la scrittura negli argomenti Kafka.The Event Hubs for Kafka feature provides a protocol head on top of Azure Event Hubs that is binary compatible with Kafka versions 1.0 and later for both reading from and writing to Kafka topics. È possibile iniziare a usare l'endpoint di Kafka dalle applicazioni senza alcuna modifica del codice, ma con una modifica minima della configurazione.You may start using the Kafka endpoint from your applications with no code change but a minimal configuration change. Aggiornare la stringa di connessione nelle configurazioni in modo che punti all'endpoint di Kafka esposto dall'hub eventi invece di puntare al cluster Kafka.You update the connection string in configurations to point to the Kafka endpoint exposed by your event hub instead of pointing to your Kafka cluster. È quindi possibile iniziare a trasmettere gli eventi dalle applicazioni che usano il protocollo Kafka negli Hub eventi.Then, you can start streaming events from your applications that use the Kafka protocol into Event Hubs. Questa integrazione supporta anche i framework, quali Kafka Connect, che è attualmente in anteprima.This integration also supports frameworks like Kafka Connect, which is currently in preview.

Concettualmente, Kafka e Hub eventi sono quasi identici: sono entrambi log partizionati creati per lo streaming dei dati.Conceptually Kafka and Event Hubs are nearly identical: they are both partitioned logs built for streaming data. Nella tabella seguente vengono associati i concetti tra Kafka e Hub eventi.The following table maps concepts between Kafka and Event Hubs.

Associazione di concetti tra Kafka e Hub eventiKafka and Event Hub conceptual mapping

Concetto di KafkaKafka Concept Concetto di Hub eventiEvent Hubs Concept
HDInsightCluster Spazio dei nomiNamespace
ArgomentoTopic Hub eventiEvent Hub
PartitionPartition PartitionPartition
Gruppo di consumerConsumer Group Gruppo di consumerConsumer Group
OffsetOffset OffsetOffset

Differenze principali tra Kafka e Hub eventiKey differences between Kafka and Event Hubs

Mentre Apache Kafka è un software, che è possibile eseguire ogni volta che si vuole, Hub eventi è un servizio cloud simile ad Archiviazione BLOB di Azure.While Apache Kafka is software, which you can run wherever you choose, Event Hubs is a cloud service similar to Azure Blob Storage. Non ci sono server o reti da gestire, né broker da configurare.There are no servers or networks to manage and no brokers to configure. Si crea uno spazio dei nomi, vale a dire un nome di dominio completo in cui sono presenti gli argomenti, e quindi si creano gli hub eventi o gli argomenti all'interno di tale spazio dei nomi.You create a namespace, which is an FQDN in which your topics live, and then create Event Hubs or topics within that namespace. Per altre informazioni su Hub eventi e sugli spazi dei nomi, vedere Funzionalità di Hub eventi?.For more information about Event Hubs and namespaces, see Event Hubs features. In quanto servizio cloud, Hub eventi usa un singolo indirizzo IP virtuale stabile come endpoint, in modo che i client non debbano necessariamente disporre di informazioni sui broker o sui computer all'interno di un cluster.As a cloud service, Event Hubs uses a single stable virtual IP address as the endpoint, so clients do not need to know about the brokers or machines within a cluster.

Il numero di istanze di Hub eventi è determinato dal numero di unità elaborate acquistate, dove ogni unità elaborata dà diritto a 1 MB al secondo, o 1000 eventi al secondo in ingresso.Scale in Event Hubs is controlled by how many throughput units you purchase, with each throughput unit entitling you to 1 MB per second, or 1000 events per second of ingress. Per impostazione predefinita, Hub eventi ridimensiona il numero di unità elaborate quando si raggiunge il limite con la funzionalità di aumento automatico; questa funzionalità può essere usata anche con Hub eventi per la funzionalità di Kafka.By default, Event Hubs scales up throughput units when you reach your limit with the Auto-Inflate feature; this feature also works with the Event Hubs for Kafka feature.

Sicurezza e autenticazioneSecurity and authentication

Hub eventi di Azure richiede SSL o TLS per tutte le comunicazioni e usa le firme di accesso condiviso per l'autenticazione.Azure Event Hubs requires SSL or TLS for all communication and uses Shared Access Signatures (SAS) for authentication. Questo requisito vale anche per un endpoint Kafka in Hub eventi.This requirement is also true for a Kafka endpoint within Event Hubs. Per la compatibilità con Kafka, Hub eventi usa SASL PLAIN per l'autenticazione e SASL SSL per la sicurezza del trasporto.For compatibility with Kafka, Event Hubs uses SASL PLAIN for authentication and SASL SSL for transport security. Per altre informazioni sulla sicurezza in Hub eventi, vedere Sicurezza e autenticazione di Hub eventi.For more information about security in Event Hubs, see Event Hubs authentication and security.

Altre funzionalità di Hub eventi disponibili per KafkaOther Event Hubs features available for Kafka

Hub eventi per la funzionalità di Kafka consente di scrivere con un protocollo e leggere con un altro, in modo che i producer Kafka correnti possano continuare a pubblicare tramite Kafka, ed è possibile aggiungere lettori con Hub eventi, ad esempio Analisi di flusso di Azure o Funzioni di Azure.The Event Hubs for Kafka feature enables you to write with one protocol and read with another, so that your current Kafka producers can continue publishing via Kafka, and you can add readers with Event Hubs, such as Azure Stream Analytics or Azure Functions. Inoltre, le funzionalità di Hub eventi come Acquisizione e Ripristino di emergenza geografico possono essere usate anche con Hub eventi per la funzionalità di Kafka.Additionally, Event Hubs features such as Capture and Geo Disaster-Recovery also work with the Event Hubs for Kafka feature.

Funzioni che non sono ancora supportateFeatures that are not yet supported

Di seguito è riportato l'elenco delle funzionalità di Kafka che non sono ancora supportate:Here is the list of Kafka features that are not yet supported:

  • Producer idempotenteIdempotent producer
  • TransazioneTransaction
  • CompressioneCompression
  • Conservazione basata sulle dimensioniSize-based retention
  • Compattazione dei logLog compaction
  • Aggiunta di partizioni a un argomento esistenteAdding partitions to an existing topic
  • Supporto API Kafka HTTPHTTP Kafka API support
  • Kafka StreamsKafka Streams

Passaggi successiviNext steps

In questo articolo è stata fornita un'introduzione a Hub eventi per Kafka.This article provided an introduction to Event Hubs for Kafka. Per altre informazioni, vedere i collegamenti seguenti:To learn more, see the following links: