Миграция Apache Kafka в Azure
Apache Kafka — это высокомасштабируемая и отказоустойчивая распределенная система обмена сообщениями, реализующая архитектуру публикации и подписки. Он используется в качестве слоя приема в сценариях потоковой передачи в режиме реального времени, таких как Интернет вещей и системы мониторинга журналов в режиме реального времени. Он также используется все чаще в качестве неизменяемого хранилища данных только для добавления в архитектурах Каппа.
® Apache, Apache Spark®, Apache Hadoop, Apache HBase, Apache Storm®, Apache Sqoop®®, Apache Kafka® и логотип пламени являются зарегистрированными товарными знаками или товарными знаками Apache Software Foundation в США и/или других странах. Использование этих меток не подразумевает подтверждения от Apache Software Foundation.
Способ миграции
В этой статье представлены различные стратегии миграции Kafka в Azure:
- Перенос Kafka в инфраструктуру Azure как услуга (IaaS)
- Перенос Kafka в Центры событий Azure для Kafka
- Миграция Kafka в Azure HDInsight
- Использование службы Azure Kubernetes (AKS) с Kafka в HDInsight
- Использование Kafka в AKS с оператором Strimzi
Ниже приведена блок-схема принятия решений для принятия решения о том, какую стратегию следует использовать.
Перенос Kafka в Azure IaaS
Один из способов миграции Kafka в Azure IaaS см. в статье Kafka на виртуальных машинах Ubuntu.
Перенос Kafka в Центры событий для Kafka
Центры событий предоставляют конечную точку, совместимую с API производителя и потребителя Apache Kafka. Большинство клиентских приложений Apache Kafka могут использовать эту конечную точку, поэтому ее можно использовать в качестве альтернативы запуску кластера Kafka в Azure. Конечная точка поддерживает клиенты, использующие API версии 1.0 и более поздних версий. Дополнительные сведения об этой функции см. в разделе "Центры событий" для Apache Kafka.
Сведения о переносе приложений Apache Kafka для использования Центров событий см. в статье "Миграция в центры событий" для экосистем Apache Kafka.
Функции Kafka и Центров событий
Сходство между Центрами событий Kafka и Центрами событий | Различия в Kafka и Центрах событий |
---|---|
Использование секций | Платформа как услуга и программное обеспечение |
Секции независимы | Секционирование |
Использование концепции курсора на стороне клиента | Программные интерфейсы |
Может масштабироваться до очень высоких рабочих нагрузок | Режим выполнения |
Почти идентично концептуально | Протоколы |
Ни для получения протокола HTTP не используется | Долговечность |
Безопасность | |
Ограничение скорости |
Различия секционирования
Кафка | Центры событий |
---|---|
Счетчик секций управляет масштабированием. | Единицы пропускной способности управляют масштабированием. |
Необходимо распределять нагрузку между секциями на компьютерах. | Балансировка нагрузки выполняется автоматически. |
Необходимо вручную изменить сегмент с помощью разделения и слияния. | Повторное развертывание не требуется. |
Различия между устойчивостью
Кафка | Центры событий |
---|---|
Переменная по умолчанию | Всегда устойчивый |
Реплицируется после получения подтверждения (ACK) | Репликация перед отправкой ACK |
Зависит от диска и кворума | Предоставляется хранилищем |
Различия в безопасности
Кафка | Центры событий |
---|---|
Уровень безопасности сокетов (SSL) и простой уровень проверки подлинности и безопасности (SASL) | Подписанный URL-адрес (SAS) и SASL или PLAIN RFC 4618 |
Списки управления доступом, подобные файлам | Политика |
Необязательное шифрование транспорта | Обязательный протокол TLS |
На основе пользователей | На основе токена (неограниченно) |
Другие различия
Кафка | Центры событий |
---|---|
Не тростит | Поддерживает регулирование |
Использует собственный протокол | Использует протокол AMQP 1.0 |
Не использует HTTP для отправки | Использует отправку HTTP и пакетную отправку |
Миграция Kafka в HDInsight
Вы можете перенести Kafka в Kafka в HDInsight. Дополнительные сведения см. в статье "Что такое Apache Kafka в HDInsight?".
Использование AKS с Kafka в HDInsight
Дополнительные сведения см. в статье Об использовании AKS с Apache Kafka в HDInsight.
Использование Kafka в AKS с оператором Strimzi
Дополнительные сведения см. в статье "Развертывание кластера Kafka в AKS" с помощью Strimzi.
Миграция данных Kafka
С помощью средства MirrorMaker Kafka можно реплицировать разделы из одного кластера в другой. Этот метод поможет перенести данные после подготовки кластера Kafka. Дополнительные сведения см. в статье Использование MirrorMaker для репликации разделов Apache Kafka с Kafka в HDInsight.
Следующий подход к миграции использует зеркальное отображение:
Сначала переместите производителей. При переносе производителей вы предотвращаете производство новых сообщений в исходном Kafka.
После того как исходный Kafka потребляет все оставшиеся сообщения, можно перенести потребителей.
Реализация включает следующие шаги.
Измените адрес подключения Kafka клиента-производителя, чтобы он указывал на новый экземпляр Kafka.
Перезапустите бизнес-службы производителя и отправьте новые сообщения в новый экземпляр Kafka.
Дождитесь использования данных в исходном Kafka.
Измените адрес подключения Kafka клиента-потребителя, чтобы он указывал на новый экземпляр Kafka.
Перезапустите бизнес-службы потребителей, чтобы использовать сообщения из нового экземпляра Kafka.
Убедитесь, что потребители успешно получают данные из нового экземпляра Kafka.
Мониторинг кластера Kafka
Журналы Azure Monitor можно использовать для анализа журналов, создаваемых Apache Kafka в HDInsight. Дополнительные сведения см. в статье "Анализ журналов для Apache Kafka в HDInsight".
Apache Kafka Streams API
API Kafka Streams позволяет обрабатывать данные практически в режиме реального времени и объединять и объединять данные. Дополнительные сведения см. в разделе "Знакомство с потоками Kafka Streams: Stream Processing Made Simple - Confluent".
Партнерство Майкрософт и Confluent
Confluent предоставляет облачную службу для Apache Kafka. Корпорация Майкрософт и Confluent имеют стратегический альянс. Дополнительные сведения см. в следующих ресурсах:
- Confluent и Корпорация Майкрософт объявляют стратегический альянс
- Знакомство с простой интеграцией между Microsoft Azure и Confluent Cloud
Соавторы
Корпорация Майкрософт поддерживает эту статью. Следующие авторы написали эту статью.
Основные авторы:
- Namrata Maheshwary | Старший архитектор облачных решений
- Раджа Н | Директор, успех клиента
- Hideo Takagi | Архитектор облачных решений
- Рам Йерработу | Старший архитектор облачных решений
Другие участники:
- Рам Баскаран | Старший архитектор облачных решений
- Джейсон Буска | Старший инженер по программному обеспечению
- Евгений Чанг | Старший архитектор облачных решений
- Паван Хосатти | Старший архитектор облачных решений — проектирование
- Даман Каур | Архитектор облачных решений
- Дэнни Лю | Старший архитектор облачных решений — проектирование
- Хосе Мендес Старший архитектор облачных решений
- Бен Садеги | Старший специалист
- Sunil Sattiraju | Старший архитектор облачных решений
- Amanjeet Singh | Главный диспетчер программ
- Nagaraj Seeplapudur Venkatesan | Старший архитектор облачных решений — проектирование
Чтобы просмотреть неопубликованные профили LinkedIn, войдите в LinkedIn.
Дальнейшие действия
Общие сведения о продукте Azure
- Введение в хранилище Azure Data Lake Storage
- Что такое Apache Spark в HDInsight?
- Что такое Apache Hadoop в HDInsight?
- Что такое Apache HBase в HDInsight?
- Что такое Apache Kafka в HDInsight?
- Обзор корпоративной безопасности в HDInsight
Справочник по продуктам Azure
- документация по Microsoft Entra
- Документация по Azure Cosmos DB
- Документация по Фабрике данных Azure
- Документация по Azure Databricks
- Документация по Центрам событий
- Документация по функциям Azure
- Документация по HDInsight
- Документация по управлению данными Microsoft Purview
- Документация по Azure Stream Analytics
Другие
- Корпоративный пакет безопасности для HDInsight
- Разработка программ Java MapReduce для Apache Hadoop в HDInsight
- Использование Apache Sqoop с Hadoop в HDInsight
- Overview of Apache Spark Streaming (Общие сведения о потоковой передаче Apache Spark)
- Руководство по структурированной потоковой передаче
- Использование Центров событий из приложений Apache Kafka