Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом руководстве представлен четкий путь для переноса приложений Apache Kafka в Центры событий Azure. Центры событий предоставляют конечную точку, совместимую с Kafka, что позволяет подключать существующие клиенты Kafka только с изменениями конфигурации— не требуется никаких изменений кода.
Перед переносом
Проверка совместимости компонентов
Центры событий поддерживают большинство клиентских операций Kafka, но некоторые функции недоступны. Просмотрите эту таблицу, чтобы убедиться, что рабочая нагрузка совместима:
| Функция | Поддерживается | Примечания. |
|---|---|---|
| Создание сообщений | ✅ Да | Стандартный API производителя |
| Потребление сообщений | ✅ Да | Стандартный API потребителей |
| Группы потребителей | ✅ Да | Поддерживается управление смещениями |
| Сжатие (gzip) | ✅ Да | Поддерживается только gzip |
| Реестр схем | ✅ Да | Использование реестра схем Azure |
| Kafka Connect | ✅ Да | См. интеграцию Kafka Connect |
| Сжатие (snappy, lz4, zstd) | ✅ Да | Используйте gzip или нет |
| Транзакции Kafka | ✅ Да | На стадии предварительного просмотра. |
Полный список поддерживаемых операций см. в разделе "Центры событий" для Apache Kafka.
Оценка текущей установки Kafka
Перед миграцией задокументируйте существующую конфигурацию:
| Item | Что следует заметить | Эквивалентные центры событий |
|---|---|---|
| Количество разделов | Общий объем используемых разделов | Центры событий (сопоставление 1:1) |
| Разделы на тему | Число разделов | Количество разделов на концентратор событий (можно увеличить после создания на уровнях "Премиум" или "Выделенный", но нельзя уменьшать) |
| Срок хранения | Текущие параметры хранения | 1-7 дней (стандартный), 1-90 дней (премиум/выделенный) |
| Throughput | Пиковый МБ/сек | Единицы пропускной способности или единицы обработки |
| Размер сообщения | Максимальный размер сообщения | 1 МБ (стандартный или премиум), 20 МБ (выделенный) |
| Тип сжатия | snappy, lz4, gzip и т. д. | Изменение на gzip или нет при использовании других типов |
Выбор уровня Центров событий
Выберите уровень в зависимости от ваших требований:
| Требование | Рекомендуемый уровень |
|---|---|
| Разработка и тестирование, низкая пропускная способность | Стандарт |
| Рабочие нагрузки Kafka, зональная избыточность, полная поддержка протокола Kafka | Премиум |
| Высокая пропускная способность, большие сообщения (>1 МБ), выделенные ресурсы | Dedicated |
Это важно
Для полной совместимости протокола Kafka используйте уровень "Премиум " или "Выделенный ". Уровень "Стандартный" имеет ограничения, которые могут повлиять на некоторые рабочие нагрузки Kafka.
Подробные сведения о сравнении уровней см. в разделе "Цены на центры событий" и квоты.
Шаги миграции
Шаг 1. Создание ресурсов Центров событий
- Создание пространства имен: следуйте инструкциям по созданию пространства имен Центров событий
- Создание центров событий: создание одного концентратора событий для каждого раздела Kafka, который вы переносите
- Получить строку подключения: Следуйте инструкции Получить строку подключения
Запишите полное доменное имя пространства имен из строки подключения:
Endpoint=sb://NAMESPACE.servicebus.windows.net/;SharedAccessKeyName=...
Полное доменное имя: NAMESPACE.servicebus.windows.net
Шаг 2. Обновление конфигурации клиента
Обновите конфигурацию клиента Kafka, чтобы подключиться к центрам событий. Найдите место, где bootstrap.servers определено в приложении, и примените следующие параметры:
bootstrap.servers=NAMESPACE.servicebus.windows.net:9093
security.protocol=SASL_SSL
sasl.mechanism=PLAIN
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString" password="YOUR_CONNECTION_STRING";
Замените:
-
NAMESPACEс именем пространства имен Центров событий -
YOUR_CONNECTION_STRINGс полной строкой подключения
Сведения о конфигурации для конкретной платформы и рекомендуемых параметрах см. в разделе "Конфигурации клиента Apache Kafka".
Шаг 3. Перенос существующих данных (необязательно)
Если вам нужно перенести исторические данные из существующего кластера Kafka в Центры событий, используйте Kafka MirrorMaker:
Для текущих сценариев репликации или гибридных сценариев MirrorMaker может выполняться постоянно, чтобы поддерживать синхронизацию обеих систем во время поэтапной миграции.
Шаг 4: Обновление потребительских смещений
Когда потребители подключаются к Event Hubs в первый раз, у них не будет существующих смещений. Настройте auto.offset.reset в соответствии с вашими потребностями.
| Setting | Поведение |
|---|---|
earliest |
Начните чтение с начала доступных данных |
latest |
Начать чтение только новых сообщений |
Проверка миграции
Проверка подключения производителя
- Начните запуск приложения производителя с обновленной конфигурацией
- Отправка тестовых сообщений в Центры событий
- Подтвердите, что сообщения приходят на портал Azure:
- Перейдите к пространству имен Event Hubs
- Выберите Обзор>Метрики>Сообщения
Проверка подключения потребителей
- Запустите потребительское приложение с обновленной конфигурацией
- Подтверждение получения сообщений
- Мониторинг задержки потребителей с помощью Azure Monitor или метрик приложения
Проверка производительности
Сравните производительность с базовой базой данных:
| Единица измерения | Как проверить |
|---|---|
| Пропускная способность (МБ/с) | Мониторинг входящих и исходящих байтов на портале Azure |
| Задержка | Измерение времени доставки сообщений «от конца до конца» в вашем приложении. |
| Задержка для потребителей | Проверка задержки группы потребителей на портале Azure или с помощью метрик потребителей Kafka |
Сведения о оптимизации производительности см. в конфигурациях клиента Apache Kafka.
Деактивировать кластер Kafka
После успешной проверки:
- Параллельный мониторинг: запуск обеих систем в течение периода стабилизации
- Перенаправление всего трафика: обновите всех производителей и потребителей для использования Центров событий
- Проверка отсутствия трафика. Убедитесь, что кластер Kafka не имеет активных подключений
- Вывод из эксплуатации: завершение работы и удаление инфраструктуры Kafka
Устранение неполадок
При возникновении проблем во время миграции:
| Проблема | Resource |
|---|---|
| Ошибки подключения или проверки подлинности | Руководство по устранению неполадок Apache Kafka |
| Проблемы с конфигурацией | Конфигурации клиента Apache Kafka |
| Общие вопросы | Часто задаваемые вопросы |