user

Авторизация

Добро пожаловать!

Регистрация

Graf

Кодинг

Создание отказоустойчивого локального кластера Apache Kafka с несколькими узлами с использованием Docker

 Создание экземпляра Apache Kafka в вашей локальной установке Docker — это простой и эффективный способ разработки приложений, которым требуется кластер Kafka, или для тестирования определенных сценариев, пограничных случаев и т. д.

 Я предоставляю два основных метода создания кластера Kafka в локальной среде разработки. один для быстрой настройки кластера, другой для настройки и настройки всех частей вручную и создания образа докера. Любой способ прост и, как правило, быстр в уходе.

1. Использование образа Docker (быстрый способ)

 Самый быстрый и простой способ настроить и запустить кластер Kafka — это использовать образ Docker, в котором уже все настроено для вас. В данном случае мой фаворит — образ Docker wurstmeister/kafka, который является популярным и широко используемым образом для создания кластеров Apache Kafka. Этот образ создан на основе официального образа Apache Kafka и включает дополнительные настройки и оптимизации для запуска Apache Kafka в локальной среде Docker. Сюда входит поддержка ZooKeeper, который используется для управления кластером Kafka, и возможность простой настройки имени хоста и порта для брокера Kafka.

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

 Он также регулярно обновляется и поддерживается для обеспечения совместимости с последними версиями Apache Kafka. Он также широко используется и хорошо поддерживается, что делает его хорошим выбором для тех, кому нужно надежное и проверенное решение для запуска Apache Kafka в контейнере Docker.

 Сначала вытащите образ, а потом просто раскрутите контейнер с этим образом.

 Вот и все! Теперь у вас есть рабочий экземпляр Apache Kafka, работающий на вашем локальном компьютере с Docker. Вы можете использовать этот экземпляр для тестирования, разработки или экспериментов. Вы также можете изучить другие параметры и конфигурации Apache Kafka в Docker.

2. Настройка кластера Kafka вручную с помощью Docker Compose

 Поскольку мы не будем использовать готовый образ, мы создадим свой собственный. Это может дать вам больше гибкости во время этого процесса и настроить изображение в соответствии с вашими потребностями.

 Чтобы создать кластер Kafka локально, нам нужно добавить два экземпляра Zookeeper и два экземпляра Kafka в наш файл docker-compose.yml. Образ cp-zookeeper является официальным образом Zookeeper. Здесь я использую последнюю версию, но если вам нужна конкретная версия, вы можете указать тег.

 Также имейте в виду, что это общая настройка, которую я использую, поэтому вам нужно будет настроить вещи в соответствии с вашими потребностями (например, имена экземпляров, порты, переменные среды и т. д.).

 Важно, чтобы имена сервисов и KAFKA_BROKER_ID оставались уникальными во всех сервисах. Кроме того, каждая служба должна сделать уникальный порт доступным для хост-компьютера. Несмотря на то, что zookeeper-1 и zookeeper-2 прослушивают порт 2181, они доступны хосту через порты 22181 и 32181. Та же логика применима и к тому, как мы настраиваем Kafka.

 Когда вы закончите работу с файлом docker-compose, запустите команду docker-compose и создайте образ.

 В итоге вы увидите, что контейнеры запустились (поскольку мы передали detatched флаг в команду docker-compose.

 Быстрая проверка моих контейнеров на рабочем столе Docker (или использование docker ps), прежде чем пытаться подключиться к моему кластеру. Это просто для того, чтобы убедиться, что при запуске не было ошибок, и контейнеры не остановились после команды запуска. Мне нравятся проверки на вменяемость.

 И, наконец, подключение к кластеру. Готов к тому, для чего вы хотите его использовать.

 Наслаждайтесь своим локальным кластером Kafka.