Azure Event Hub против Kafka как сервисного брокера

#azure #apache-kafka #azure-eventhub-capture

#azure #apache-kafka #azure-eventhub-захват

Вопрос:

Я оцениваю использование Azure Event Hub против Kafka в качестве сервисного брокера. Я надеялся, что смогу создать два локальных приложения бок о бок, одно из которых использует сообщения с помощью Kafka, а другое — с помощью Azure Event Hub. У меня настроен контейнер docker, который является экземпляром Kafka, и я нахожусь в процессе настройки Azure Event hub с использованием моей учетной записи Azure (насколько я знаю, нет другого способа создать локальный экземпляр / экземпляр разработки для Azure Event Hub).

Есть ли у кого-нибудь какая-либо информация об этих двух, которая может быть полезна при сравнении их функций?

Комментарии:

1. Я всегда думал, что это практически одно и то же, но от разных брендов и платформ. все зависит от того, хотите ли вы управлять событиями с помощью Kafka или Azure. если я правильно понимаю — я могу ошибаться, просто предполагая здесь — вы также можете запустить Kafka в azure.

Ответ №1:

Не удается добавить комментарий напрямую, но в текущем наиболее распространенном ответе есть строка

У Kafka может быть несколько тем, каждый Azure Event Hub представляет собой одну тему.

Это вводит в заблуждение, поскольку звучит так, будто у вас не может быть нескольких тем, которые вы можете. Согласно https://learn.microsoft.com/en-us/azure/event-hubs/event-hubs-for-kafka-ecosystem-overview#kafka-and-event-hub-conceptual-mapping «Event Hub» — это тема, а «Пространство имен Event Hub» — это кластер Kafka.

Ответ №2:

Это решение обычно обусловлено более широким архитектурным выбором. если вы выбираете azure в качестве решения iaas и paas, то event hub обеспечивает отличную интеграцию в экосистему Azure, но если вы не хотите, чтобы блокировка поставщика в kafka была лучшим вариантом.

В оперативном плане, если вам нужен полностью управляемый сервис, то с event hub это «из коробки», но с kafka вы также получаете это с confluent platform.

С точки зрения зрелости kafka старше, и с большим сообществом у вас больше поддержки.

Функционально то, что предоставляет экосистема kafka, в экосистеме Azure есть все это, но если вы говорите только о event hub, то ему не хватает нескольких функций по сравнению с kafka

Я думаю, что эта ссылка может помочь вам расширить ваше понимание https://learn.microsoft.com/en-us/azure/event-hubs/event-hubs-for-kafka-ecosystem-overview

Ответ №3:

У Kafka может быть несколько тем, каждый Azure Event Hub представляет собой одну тему. Запуск Kafka внутри контейнера означает, что вы должны управлять им. Azure Event Hub — это PaaS, что означает, что они управляли платформой. Если вы не знаете, как сделать Kafka избыточным, надежным и масштабируемым, вы можете использовать Azure Event Hubs или любой PaaS, который предлагает аналогичную модель pub / sub. Платформа Event Hub уже масштабируема, надежна и избыточна.

Комментарии:

1. Кластер Kafka может иметь несколько тем. Аналогично, пространство имен Event Hub может иметь несколько концентраторов событий. Пространство имен Azure Event Hub — это логический контейнер, который может содержать несколько четных экземпляров концентратора. Итак, и Kafka, и Event Hub похожи в этом аспекте!

Ответ №4:

В то время как Apache Kafka — это программное обеспечение, которое обычно требуется для установки и эксплуатации, Event Hubs — это полностью управляемый облачный сервис. Нет серверов, дисков или сетей для управления и мониторинга, и нет брокеров для рассмотрения или настройки, никогда. Вы создаете пространство имен, которое является конечной точкой с полным доменным именем, а затем создаете центры событий (темы) в этом пространстве имен. Дополнительные сведения о концентраторах событий и пространствах имен см. в разделе Функции концентраторов событий. В качестве облачной службы Event Hubs использует один стабильный виртуальный IP-адрес в качестве конечной точки, поэтому клиентам не нужно знать о брокерах или машинах в кластере. Несмотря на то, что Event Hubs реализует один и тот же протокол, это различие означает, что весь трафик Kafka для всех разделов предсказуемо направляется через эту единственную конечную точку, а не требует доступа к брандмауэру для всех брокеров кластера. Масштаб в концентраторах событий определяется количеством приобретаемых единиц пропускной способности, при этом каждая единица пропускной способности дает вам право на 1 мегабайт в секунду, или 1000 событий в секунду при входе и вдвое больший объем при выходе. Концентраторы событий могут автоматически увеличивать единицы пропускной способности при достижении предела пропускной способности, если вы используете функцию автоматического увеличения; эта функция также работает с поддержкой протокола Apache Kafka.

Вы можете найти больше о сравнении функций здесь — https://learn.microsoft.com/en-us/azure/event-hubs/event-hubs-for-kafka-ecosystem-overview

Ответ №5:

Вы должны сравнить

  • возможности / усилия администрирования (как было сказано ранее)
  • функциональные возможности, такие как конкурирующие шаблоны customer и pub / sub
  • производительность: вам следует рассмотреть kafka, если вы планируете превысить квоты event hub