Kafka API
Обзор
Kafka включает в себя пять основных API:
API в Kafka используются для реализации клиентских приложений, которые потребляют и передают данные в Kafka, управляют брокерами и топиками Kafka, а также выполняют потоковую обработку.
Клиенты для приложений Java поддерживаются как часть основного проекта Kafka, остальные доступны как независимые проекты с открытым исходным кодом.
ПРИМЕЧАНИЕ
Список клиентов, отличных от Java, приведен в статье Kлиенты для работы с Kafka. |
Установка зависимостей
Для создания API в Kafka используется Apache Maven — инструмент, основанный на концепции объектной модели проекта POM (Project Object Model), управляющий сборкой проекта, загружающий подходящие версии пакетов и библиотеки. Для загрузки необходимого пакета необходимо установить зависимость (dependency) в файле pom.xml. На основе заданной зависимости Maven загрузит и добавит JAR-файл (Java-архив) к пути Java. После этого Java сможет найти и использовать классы, заданные в файле JAR.
Для указания зависимости используются параметры GAV (groupId, artifactId, version):
-
groupId
— идентификатор производителя объекта. Часто используется схема, принятая в обозначении пакетов Java. -
artifactId
— идентификатор объекта. Обычно это имя создаваемого модуля или приложения. -
version
— версия описываемого объекта.
Для использования API зависимости Maven в файле pom.xml устанавливаются следующим образом:
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>3.5.0</version>
</dependency>
Producer API
Producer API позволяет приложениям отправлять потоки данных в топики в кластере Kafka.
Consumer API
Consumer API позволяет приложениям считывать потоки данных из топиков в кластере Kafka.
Streams API
Streams API позволяет преобразовывать потоки данных из входных топиков в выходные топики.
ПРИМЕЧАНИЕ
|
Connect API
Connect API позволяет реализовывать коннекторы, которые в непрерывном режиме извлекают данные из какой-либо системы исходных данных в Kafka или передают данные из Kafka в какую-либо систему-приемник данных. Предварительно созданные коннекторы используются без необходимости написания кода.
ПРИМЕЧАНИЕ
|
Admin API
Admin API поддерживает управление топиками, брокерами, списками управления доступом и другими объектами Kafka, а также их проверку.
ПРИМЕЧАНИЕ
Полный список доступных API приведен в статье kafka 2.8.1 API |