Способы работы с продюсером в распределенной среде брокера Apache Kafka

курс kafka spark, курс kafka spark, курсы администрирования kafka, курс kafka spark, apache kafka для начинающих, Big Data, курсы kafka rest, apache kafka для начинающих, kafka это, big data курсы, kafka streams, курс kafka spark, курсы по kafka, курсы big data москва, курс kafka spark, apache kafka для начинающих, apache kafka, курсы администраторов spark, apache kafka для начинающих, Big Data, Data Science, kafka streaming, Kafka, брокер kafka, avro

В прошлый раз мы говорили про способы работы с потребителями Apache Kafka. Сегодня поговорим про способы работы с Kafka-продюсерами в распределенной среде. Читайте далее про особенности и способы работы с Kafka-потребителями в распределенной среде.

Какие существуют способы работы с продюсером в Kafka

Продюсер Kafka (Kafka producer) — это брокер (или группа брокеров), который отвечает за производство и отправку сообщений Big Data остальным брокерам-получателям (broker consumer) в распределенном Kafka-кластере. В Kafka существует 2 наиболее популярных метода работы с потребителем [1]:

  • добавление продюсера в исходный код Java-приложения;
  • из командной строки операционной системы.

Каждый из этих методов мы подробнее рассмотрим на практических примерах далее.

Способы создания продюсеров в брокере Kafka: несколько практических примеров

Для того, чтобы начать добавление продюсера в исходный код приложения, необходимо задать конфигурацию для подключения и работы с помощью Java-коллекции свойств Properties [1]:

//коллекция свойств продюсера
private Properties kafkaProps = new Properties();
//заполнение коллекции
kafkaProps.put("bootstrap.servers", "broker1:9092,broker2:9092");
//сериализатор ключей
kafkaProps.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
//сериализатор значений
kafkaProps.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");

За создание продюсера в Kafka отвечает класс KafkaProducer, в конструктор которого передается объект коллекции свойств Properties, а затем идет генерация сообщений и отправление их в топик с помощью метода send() [1]:

 

//передаем объект Properties в конструктор класса продюсера
producer = new KafkaProducer(kafkaProps);
//генерация сообщений
ProducerRecord<String, String> record =
new ProducerRecord<>("CustomerCountry", "Precision Products",
"France");
try {
//отправка сообщений в кластер Kafka
producer.send(record);
} catch (Exception e) {
e.printStackTrace();
}

Второй способ заключается в консольном создании (из командной строки). Для этого необходимо воспользоваться утилитой kafka-comsole-producer.sh (kafka-comsole-producer.bat для систем семейства Windows):

kafka-console-producer.sh --broker-list
kafka1.example.com:9092,kafka2.example.com:9092 --topic my-topic

Можно также задать дополнительную конфигурацию продюсера через параметр --producer-property, который отвечает за использование дополнительных классов или сущностей при запуске продюсера. В качестве примера можно привести следующий код, который отвечает за запуск продюсера с классом-сериализатором значений (values) сообщений [1]:

kafka-console-producer --broker-list IPADDRESS:9092 --topic my-topic --producer-property value.serializer=org.apache.kafka.common.serialization.IntegerSerializer

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

Apache Kafka для инженеров данных

Код курса
DEVKI
Ближайшая дата курса
27 мая, 2024
Продолжительность
24 ак.часов
Стоимость обучения
72 000 руб.

Освоить Apache Kafka на профессиональном уровне в качестве администратора Big Data кластеров, разработчика распределенных приложений и прочих прикладных областях Data Science вы сможете на практических курсах по Kafka в нашем лицензированном учебном центре обучения и повышения квалификации ИТ-специалистов в Москве:

Записаться на курс

Смотреть раcписание

Источники

  1. Н.Нархид, Г.Шапира, Т.Палино. Apache Kafka. Потоковая обработка и анализ данных

Добавить комментарий

Поиск по сайту