Использование Центров событий Azure из приложений Apache KafkaUse Azure Event Hubs from Apache Kafka applications

Центры событий предоставляют конечную точку Kafka, которую существующие приложения на основе Kafka могут использовать в качестве альтернативы запуска собственного кластера 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. Центры событий поддерживают Apache Kafka 1.0 и более новые версии протокола и работают с имеющимися приложениями Kafka, в том числе с MirrorMaker.Event Hubs supports Apache Kafka protocol 1.0 and later, and works with your existing Kafka applications, including MirrorMaker.

Возможности, предоставленные Центрами событий для KafkaWhat does Event Hubs for Kafka provide?

Центры событий для компонента Kafka предоставляют заголовок протокола на основе концентраторов событий Azure, который совместим по двоичным файлам с Kafka 1.0 и более поздними версиями, для чтения из разделов 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. Вы можете начать использовать конечную точку Kafka из своих приложений без изменения кода, но с минимальным изменением конфигурации.You may start using the Kafka endpoint from your applications with no code change but a minimal configuration change. Чтобы указать конечную точку Kafka, предоставленную концентратором событий, вместо указания кластера 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. Затем вы можете начать потоковую передачу событий из приложений, использующих в Центрах событий протокол Kafka.Then, you can start streaming events from your applications that use the Kafka protocol into Event Hubs. При такой интеграции также поддерживаются такие платформы, как Kafka Connect, которая сейчас доступна в предварительной версии.This integration also supports frameworks like Kafka Connect, which is currently in preview.

По существу, Kafka и Центры событий практически идентичны: они являются секционированными журналами, созданными для потоковой передачи данных.Conceptually Kafka and Event Hubs are nearly identical: they are both partitioned logs built for streaming data. В следующей таблице показано составление понятий Kafka и Центров событий.The following table maps concepts between Kafka and Event Hubs.

Сопоставление понятий Kafka и концентратора событийKafka and Event Hub conceptual mapping

Понятия KafkaKafka Concept Понятия Центров событийEvent Hubs Concept
HDInsightCluster Пространство именNamespace
РазделTopic Концентратор событийEvent Hub
СекцияPartition СекцияPartition
Группа потребителейConsumer Group Группа потребителейConsumer Group
OffsetOffset OffsetOffset

Основные различия между Kafka и Центрами событийKey differences between Kafka and Event Hubs

Несмотря на то, что Apache Kafka — это программное обеспечение, которое можно использовать в любом месте, Центры событий представляют собой облачную службу, схожую с хранилищем BLOB-объектов Azure.While Apache Kafka is software, which you can run wherever you choose, Event Hubs is a cloud service similar to Azure Blob Storage. Вам не нужно управлять серверами или сетями и настраивать брокеры — эти компоненты просто отсутствуют.There are no servers or networks to manage and no brokers to configure. Вы создаете пространство имен, которое является полным доменным именем, содержащим разделы, а затем в этом пространстве имен создаете концентраторы событий или разделы.You create a namespace, which is an FQDN in which your topics live, and then create Event Hubs or topics within that namespace. Дополнительные сведения о Центрах событий и пространствах имен см. в статье Особенности Центров событий.For more information about Event Hubs and namespaces, see Event Hubs features. Выступая в качестве облачной службы, Центры событий используют один стабильный виртуальный IP-адрес в качестве конечной точки, поэтому клиентам не нужно знать о брокерах или машинах в кластере.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.

Масштаб в Центрах событий контролируется количеством приобретаемых единиц пропускной способности, где каждая такая единица предоставляет 1 МБ в секунду или 1000 событий в секунду входящих данных.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. По умолчанию Центры событий масштабируют единицы пропускной способности по достижении предела, используя функцию автоматического расширения. Эта функция также работает с концентраторами событий для компонента 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.

Безопасность и проверка подлинностиSecurity and authentication

Центрам событий Azure требуется протокол SSL или TLS для всех видов взаимодействия и подписанные URL-адреса для аутентификации.Azure Event Hubs requires SSL or TLS for all communication and uses Shared Access Signatures (SAS) for authentication. Это требование также применяется к конечной точке Kafka в Центрах событий.This requirement is also true for a Kafka endpoint within Event Hubs. Для обеспечения совместимости с Kafka Центры событий используют SASL PLAIN для аутентификации и SASL SSL для обеспечения безопасности транспорта.For compatibility with Kafka, Event Hubs uses SASL PLAIN for authentication and SASL SSL for transport security. Дополнительные сведения см. в статье о проверке подлинности и обеспечении безопасности данных в Центрах событий.For more information about security in Event Hubs, see Event Hubs authentication and security.

Другие функции Центров событий, доступные для KafkaOther Event Hubs features available for Kafka

Центры событий для компонента Kafka позволяют использовать один протокол для записи, а другой для чтения. В этом случае текущие производители Kafka могут продолжить публикацию с помощью Kafka, а вы можете добавлять средства чтения с помощью Центров событий, например Azure Stream Analytics или Функции 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. Кроме того, функции Центров событий, такие как Захват и Геоизбыточное аварийное восстановление, также работают с концентраторами событий для компонента Kafka.Additionally, Event Hubs features such as Capture and Geo Disaster-Recovery also work with the Event Hubs for Kafka feature.

Еще не реализованные функцииFeatures that are not yet supported

Ниже приведен список функций Kafka, которые еще не поддерживаются:Here is the list of Kafka features that are not yet supported:

  • идемпотентный производитель;Idempotent producer
  • транзакция:Transaction
  • СжатиеCompression
  • хранение на основе размера;Size-based retention
  • сжатие журнала;Log compaction
  • добавлений секций в существующий раздел;Adding partitions to an existing topic
  • поддержка API HTTP Kafka;HTTP Kafka API support
  • потоки Kafka.Kafka Streams

Дальнейшие действияNext steps

В этой статье приведены ознакомительные сведения о Центрах событий для компонента Kafka.This article provided an introduction to Event Hubs for Kafka. Дополнительные сведения см. по следующим ссылкам:To learn more, see the following links: