Этот репозиторий содержит проект, демонстрирующий настройку и использование Apache Kafka. Он включает в себя конфигурации Docker Compose для быстрого развертывания кластеров Kafka, а также примеры использования Kafka Producer и Consumer. Проект также содержит подробное руководство по Apache Kafka для Java-разработчиков.
- Быстрое развертывание Kafka: Используйте Docker Compose для запуска одноузлового или многоузлового кластера Kafka.
- Примеры Producer/Consumer: Изучите, как отправлять и получать сообщения из Kafka с помощью примеров кода на Java.
Для запуска этого проекта вам потребуется:
- Docker и Docker Compose
- Java Development Kit (JDK) 17 или выше
- Apache Maven
Вы можете выбрать один из двух вариантов развертывания кластера Kafka с помощью Docker Compose:
Этот вариант использует KafkaDocker-compose.yaml для запуска одного брокера Kafka с поддержкой KRaft.
-
Перейдите в корневой каталог проекта:
cd Kafka_Research -
Запустите кластер:
docker-compose -f KafkaDocker-compose.yaml up -d
-
Проверьте статус запущенных контейнеров:
docker-compose -f KafkaDocker-compose.yaml ps
Этот вариант использует KafkaClusterDocker-compose.yaml для запуска трех брокеров Kafka с поддержкой KRaft, что обеспечивает отказоустойчивость и высокую доступность.
-
Перейдите в корневой каталог проекта:
cd Kafka_Research -
Запустите кластер:
docker-compose -f KafkaClusterDocker-compose.yaml up -d
-
Проверьте статус запущенных контейнеров:
docker-compose -f KafkaClusterDocker-compose.yaml ps
Примеры кода Producer и Consumer находятся в директории src/main/java/oleborn/kafkaresearch. Чтобы запустить их:
-
Соберите проект с помощью Maven:
mvn clean install
-
Запустите Producer (пример):
java -jar target/kafka-research-1.0-SNAPSHOT.jar producer
-
Запустите Consumer (пример):
java -jar target/kafka-research-1.0-SNAPSHOT.jar consumer
Kafka_Research/
├── src/
│ ├── main/
│ │ ├── java/oleborn/kafkaresearch/
│ │ │ └── ... (файлы Producer/Consumer)
│ │ └── resources/
│ └── test/
├── .gitignore
├── GUIDE.md
├── KafkaClusterDocker-compose.yaml
├── KafkaDocker-compose.yaml
├── README.md
└── pom.xml
src/: Исходный код проекта.GUIDE.md: Подробное руководство по Apache Kafka.KafkaClusterDocker-compose.yaml: Конфигурация Docker Compose для многоузлового кластера Kafka.KafkaDocker-compose.yaml: Конфигурация Docker Compose для одноузлового кластера Kafka.pom.xml: Файл конфигурации Maven.
Если у вас есть вопросы, свяжитесь с автором: Oleborn.