Рубрики
Без рубрики

Настройка Kafka для разработки

Введение При разработке приложений с использованием Apache Kafka у меня возникла необходимость быстрого создания… С тегом tutorial, java, docker.

При разработке приложений с использованием Apache Kafka у меня была необходимость проводить быстрые тесты, такие как публикация/использование сообщений, проверка их формата или просто наблюдение за тем, что находится внутри темы.

В этой статье я покажу, как я настраиваю локальную производительную среду для разработки Apache Kafka с помощью Docker. В есть демонстрационное приложение Github .

Чтобы запустить нашу локальную Kafka и ее инструменты локально, нам необходимо установить:

Если вы используете Mac OS или Windows, вам также необходимо установить:

Для запуска Kafka, его зависимостей и инструментов я выбрал изображение fast-data-dev , потому что оно уже содержит пользовательский интерфейс Kafka, Zookeeper и Kafka Topics.

Наш экземпляр Kafka будет работать вне внутренней сети Docker, поэтому нам нужно предоставить IP-адрес для подключения нашего приложения. Если вы используете Linux, вы можете напрямую использовать адрес localhost .

Выбранный образ Docker, упомянутый выше, уже содержит шаги, необходимые для создания docker-machine и установки переменных среды:

docker-machine create --driver virtualbox --virtualbox-memory 4096 landoop
eval $(docker-machine env landoop)

Запустив docker-machine ip вы можете увидеть IP-адрес компьютера (обычно 192.168.99.100).

Мне нравится использовать файлы docker-compose для регистрации команд docker в репозитории git так что мне не нужно вводить и запоминать, что вводить каждый раз, когда я хочу запустить образ docker.

Например, вместо того, чтобы запускать:

docker run --rm -p 2181:2181 -p 3030:3030 -p 8081-8083:8081-8083 \
       -p 9581-9585:9581-9585 -p 9092:9092 -e ADV_HOST=192.168.99.100 \
       landoop/fast-data-dev:latest

Мне просто нужно создать файл с именем docker-compose.yml , содержащий:

version: '3'
services:
  kafka:
    image: landoop/fast-data-dev:latest
    ports:
      - "9092:9092"
      - "8081:8081"
      - "8082:8082"
      - "8083:8083"
      - "2181:2181"
      - "3030:3030"
      - "9581-9585:9581-9585"
    environment:
      - ADV_HOST=192.168.99.100 // Use your 'docker-machine ip' or 'localhost' if linux

И запустите его с помощью:

docker-compose up

Я предоставил пример приложения для тестирования подключения Kafka, используя ту же конфигурацию docker, что и выше. Он написан на Java с использованием Spring Kafka project, но он должен работать для любого языка или библиотеки. Вы также можете использовать интерфейс командной строки для публикации простых сообщений.

После запуска предоставленного демонстрационного приложения вам просто нужно получить доступ к конечной точке http://localhost:8080/publish?message=sample_message опубликовать сообщение с содержимым sample_message в тестовой теме.

Как проверить ваши тематические сообщения, вы можете получить доступ к адресу, по которому Kafka Topics UI запущен по адресу :3030/kafka-topics-ui (т.е.: http://192.168.99.100:3030/kafka-topics-ui/):

С помощью этой простой настройки и одного файла docker-compose.yml вы готовы публиковать и использовать сообщения Kafka и начинать разработку своего приложения.

Оригинал: “https://dev.to/fabiothiroki/setup-kafka-for-development-44cd”