Usar os hubs de eventos do Azure de aplicativos Apache KafkaUse Azure Event Hubs from Apache Kafka applications

Os hubs de eventos fornecem um ponto de extremidade Kafka que pode ser usado por seus aplicativos existentes baseados em Kafka como uma alternativa para executar seu próprio 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. Os hubs de eventos dão suporte ao protocolo Apache Kafka 1,0 e posteriore funcionam com seus aplicativos Kafka existentes, incluindo MirrorMaker.Event Hubs supports Apache Kafka protocol 1.0 and later, and works with your existing Kafka applications, including MirrorMaker.

O que os hubs de eventos para Kafka fornecem?What does Event Hubs for Kafka provide?

O recurso hubs de eventos para Kafka fornece um cabeçalho de protocolo sobre os hubs de eventos do Azure que é compatível binário com as versões 1,0 e posteriores para ler e gravar em tópicos do 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. Você pode começar a usar o ponto de extremidade Kafka de seus aplicativos sem alteração de código, mas uma alteração mínima de configuração.You may start using the Kafka endpoint from your applications with no code change but a minimal configuration change. Você atualiza a cadeia de conexão em configurações para apontar para o ponto de extremidade Kafka exposto pelo hub de eventos em vez de apontar para o 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. Em seguida, você pode iniciar os eventos de streaming de seus aplicativos que usam o protocolo Kafka nos hubs de eventos.Then, you can start streaming events from your applications that use the Kafka protocol into Event Hubs. Essa integração também oferece suporte a estruturas como o Kafka Connect, que está atualmente em versão prévia.This integration also supports frameworks like Kafka Connect, which is currently in preview.

Os hubs de eventos e Kafka conceitualmente são quase idênticos: são ambos logs particionados criados para streaming de dados.Conceptually Kafka and Event Hubs are nearly identical: they are both partitioned logs built for streaming data. A tabela a seguir mapeia os conceitos entre Kafka e hubs de eventos.The following table maps concepts between Kafka and Event Hubs.

Kafka e mapeamento conceitual do hub de eventosKafka and Event Hub conceptual mapping

Conceito de KafkaKafka Concept Conceito de hubs de eventosEvent Hubs Concept
ClusterCluster NamespaceNamespace
TópicoTopic Hub de EventoEvent Hub
ParticionPartition ParticionPartition
Grupo de consumidoresConsumer Group Grupo de consumidoresConsumer Group
desvioOffset desvioOffset

Principais diferenças entre Kafka e hubs de eventosKey differences between Kafka and Event Hubs

Embora Apache Kafka seja um software, que pode ser executado onde quer que você escolha, os hubs de eventos são um serviço de nuvem semelhante ao armazenamento de BLOBs do Azure.While Apache Kafka is software, which you can run wherever you choose, Event Hubs is a cloud service similar to Azure Blob Storage. Não há servidores ou redes para gerenciar e não há agentes para configurar.There are no servers or networks to manage and no brokers to configure. Você cria um namespace, que é um FQDN no qual seus tópicos residem e, em seguida, cria hubs de eventos ou tópicos dentro desse namespace.You create a namespace, which is an FQDN in which your topics live, and then create Event Hubs or topics within that namespace. Para obter mais informações sobre os namespaces e hubs de eventos, consulte recursos de hubs de eventos.For more information about Event Hubs and namespaces, see Event Hubs features. Como um serviço de nuvem, os hubs de eventos usam um único endereço IP virtual estável como o ponto de extremidade, para que os clientes não precisem saber sobre os agentes ou computadores em um 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.

A escala nos hubs de eventos é controlada por quantas unidades de taxa de transferência você compra, com cada unidade de produtividade entitling a 1 MB por segundo ou 1000 eventos por segundo de entrada.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. Por padrão, os hubs de eventos dimensionam as unidades de produtividade quando você atinge seu limite com o recurso de inflar automaticamente ; Esse recurso também funciona com os hubs de eventos para o recurso 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.

Segurança e autenticaçãoSecurity and authentication

Os hubs de eventos do Azure exigem SSL ou TLS para toda a comunicação e usam SAS (assinaturas de acesso compartilhado) para autenticação.Azure Event Hubs requires SSL or TLS for all communication and uses Shared Access Signatures (SAS) for authentication. Esse requisito também é verdadeiro para um ponto de extremidade Kafka nos hubs de eventos.This requirement is also true for a Kafka endpoint within Event Hubs. Para compatibilidade com o Kafka, os hubs de eventos usam SASL PLAIN para autenticação e o SSL SASL para segurança de transporte.For compatibility with Kafka, Event Hubs uses SASL PLAIN for authentication and SASL SSL for transport security. Para obter mais informações sobre segurança em hubs de eventos, consulte autenticação e segurança de hubs de eventos.For more information about security in Event Hubs, see Event Hubs authentication and security.

Outros recursos dos hubs de eventos disponíveis para KafkaOther Event Hubs features available for Kafka

O recurso hubs de eventos para Kafka permite que você grave com um protocolo e leia com outro, para que seus produtores Kafka atuais possam continuar publicando via Kafka e você pode adicionar leitores com hubs de eventos, como Azure Stream Analytics ou Azure Functions.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. Além disso, os recursos dos hubs de eventos, como captura e recuperação de desastres geográficos , também funcionam com os hubs de eventos para o recurso Kafka.Additionally, Event Hubs features such as Capture and Geo Disaster-Recovery also work with the Event Hubs for Kafka feature.

Recursos que ainda não têm suporteFeatures that are not yet supported

Aqui está a lista de recursos do Kafka que ainda não têm suporte:Here is the list of Kafka features that are not yet supported:

  • Produtor idempotenteIdempotent producer
  • acionaTransaction
  • CompactaçãoCompression
  • Retenção baseada em tamanhoSize-based retention
  • Compactação de logLog compaction
  • Adicionando partições a um tópico existenteAdding partitions to an existing topic
  • Suporte à API HTTP KafkaHTTP Kafka API support
  • Fluxos de KafkaKafka Streams

Próximos passosNext steps

Este artigo forneceu uma introdução aos hubs de eventos para Kafka.This article provided an introduction to Event Hubs for Kafka. Para saber mais, confira os links a seguir:To learn more, see the following links: