Apache Kafka является распределенной системой обмена сообщениями, широко используемой для построения отказоустойчивых и масштабируемых потоков данных. Yandex Managed Kafka предоставляет управляемый сервис Kafka, который облегчает развертывание и управление кластерами Kafka без необходимости заботиться о инфраструктуре.
Начало работы с Yandex Managed Kafka
Для того, чтобы начать пользоваться Yandex Managed Kafka, необходимо выполнить несколько небольших шагов:
- Первым шагом является создание кластера Kafka в Yandex Cloud. Это можно сделать через консоль управления Yandex Cloud или с использованием Yandex.Cloud CLI. Необходимо будет подождать, когда кластер будет готов к работе: его статус на панели Managed Service for Apache Kafka сменится на Running, а состояние — на Alive. Это может занять некоторое время.
- Далее подключаемся к кластеру через подключение SSL-сертификата:
mkdir $HOME\.kafka; curl.exe -o $HOME\.kafka\YandexInternalRootCA.crt https://storage.yandexcloud.net/cloud-certs/CA.pem
- После всех подключений необходимо создать топик. Топик— это способ группировки потоков сообщений по категориям. Продюсеры пишут сообщения в топик, а потребители читают сообщения из него. Для создания топика необходимо в консоли управления выбрать каталог, в котором находится кластер, далее выбираем сервис Managed Service for Kafka.
- Для того, чтобы наполнить топик сообщениями, необходимо выполнить следующую команду:
echo "test message" | kafkacat -P \ -b <FQDN_брокера>:9091 \ -t <имя_топика> \ -k key \ -X security.protocol=SASL_SSL \ -X sasl.mechanism=SCRAM-SHA-512 \ -X sasl.username="<логин_производителя>" \ -X sasl.password="<пароль_производителя>" \ -X ssl.ca.location=/usr/local/share/ca-certificates/Yandex/YandexInternalRootCA.crt -Z
- За чтение сообщений из топика отвечает следующая команда:
kafkacat -C \ -b <FQDN_брокера>:9091 \ -t <имя_топика> \ -X security.protocol=SASL_SSL \ -X sasl.mechanism=SCRAM-SHA-512 \ -X sasl.username="<логин_потребителя>" \ -X sasl.password="<пароль_потребителя>" \ -X ssl.ca.location=/usr/local/share/ca-certificates/Yandex/YandexInternalRootCA.crt -Z -K:
Более подробная инструкция приведена в документации на официальном сайте по этой ссылке.
Yandex Managed Kafka: основные особенности и преимущества
Яндекс Kafka является сервисом для работы с распределенным Big Data брокером сообщений Apache Kafka. Данная технология имеет ряд особенностей и преимуществ:
- Топики и партиции: в Kafka данные организованы в топики, которые, в свою очередь, могут быть разделены на партиции. Yandex Managed Kafka позволяет легко создавать и управлять темами, а также изменять количество партиций для лучшего распределения нагрузки.
- Управление топиками и консьюмер-группами: Yandex Managed Kafka предоставляет удобный веб-интерфейс для управления кластером, включая создание и настройку тем, просмотр статусов партиций, а также мониторинг потребителей и групп потребителей.
- Автоматическое масштабирование: с Yandex Managed Kafka не нужно беспокоиться о сложностях масштабирования кластера Kafka. Сервис предоставляет автоматическое масштабирование, регулируя количество брокеров в зависимости от нагрузки.
- Интеграция с другими сервисами Yandex.Cloud: Yandex Managed Kafka легко интегрируется с другими сервисами Yandex.Cloud, такими как Yandex Object Storage и Yandex DataProc, что позволяет строить комплексные архитектуры для обработки данных.
Таким образом, сервис Yandex Managed Kafka предоставляет инструменты для мониторинга состояния кластера, производительности запросов и использования ресурсов, что позволяет оперативно реагировать на изменения в нагрузке и оптимизировать работу кластера.
Больше подробностей про применение Kafka в проектах анализа больших данных вы узнаете на практических курсах по Kafka в нашем лицензированном учебном центре обучения и повышения квалификации ИТ-специалистов в Москве:
Администрирование кластера Kafka
Администрирование Arenadata Streaming Kafka