Пример потребителя и производителя Micronaut Kafka.

Micronaut — это фреймворк Java, и он популярен для разработки приложений на основе микросервисов из-за меньшего объема памяти и быстрого запуска.

В этой статье мы увидим, как записывать простых потребителей и производителей Kafka с помощью фреймворка micronaut.

Вы можете прочитать мои статьи о фреймворке micronaut на:

https://maheshwar-ligade.medium.com/

Начните генерировать проект с помощью https://micronaut.io/launch/

Вы можете создать проект либо с помощью сайта запуска, либо с помощью инструмента CLI.

$ mn create-app techwastikafkaexample --features kafka

Версия Micronaut для этой демонстрации — 2.0.0 и Java 8.

создание проекта и добавление профиля Kafka CLI предоставляет мощные возможности, такие как;

$ mn create-app techwasti-kafka-service --profile kafka

Предпосылки:-

  1. Java-программирование
  2. Кафка
  3. Микронавт

Я предполагаю, что люди. Вы знаете об этом, если вы не знаете, то изучите это.

Micronaut предлагает специальную поддержку для определения экземпляров Kafka Producer и Consumer.

Кафка Продюсер: -

Мы создадим одного простого производителя, используя аннотацию.

Аннотация @KafkaClient используется для обозначения того, что это клиент kafka.

Указывается аннотация @Topic, в какой теме должно быть опубликовано сообщение.

Аннотация @Kafkakey должна иметь ключ сообщения.

В приведенном выше фрагменте кода мы определили два метода:

  1. В первом методе, принимающем два аргумента: ключ и значение, а имя темы аннотируется с помощью @Topic.
  2. Во втором методе вместо аннотации имени темы мы принимаем имя темы в качестве аргумента.

Если вы опустите @KafkaKey, то он будет нулевым.

Поскольку мы знаем о красоте инфраструктуры micronaut, она создаст реализацию вышеуказанного клиентского интерфейса. Мы можем получить этот экземпляр либо путем поиска bean-компонента в ApplicationContext, либо путем внедрения bean-компонента с помощью @Inject.

GreetMessageClient client = applicationContext.getBean(GreetMessageClient.class); client.sendProduct("Thursday", "Good morning");

Теперь наш производитель готов, и мы также отправили успешное сообщение.

Давайте создадим Kafka Consumer.

Кафка Потребитель: -

Как мы видели, несколько аннотаций для создания производителя и создания сообщения по теме. Точно так же у нас есть аннотация @KafkaListener для создания потребителя kafka.

@KafkaListener используется, чтобы указать, что это потребитель kafka, и при чтении сообщения из темы приветствие и смещение должны быть самыми ранними, это начнет чтение сообщения с самого начала.

Метод получения имеет два аргумента: один является ключом, а другой — сообщением.

Это простой пример наличия потребителей и производителей кафки.

Дополнительные параметры для производителя и потребителя:

@Header: чтобы добавить заголовок к сообщению kafka.

Когда мы хотим добавить некоторый заголовок в производителя kafka при создании сообщения, скажем, мы хотим добавить токен аутентификации при публикации сообщения через kafka в этом случае.

e.g.

@Header(имя = «JWT-Token», значение = «${my.authentication.token}»)

Кроме того, вы можете передать заголовок в качестве аргумента метода так же, как и имя темы.

@Body: для явного указания тела сообщения.

Как правило, значение, отправленное производителем, разрешается только с использованием аннотации @Body, но если мы не упомянули об этом, то первый аргумент разрешается как тело сообщения.

e.g

@Topic("приветствовать")
void sendGreetMessage(@KafkaKey Строковый день, Строковое сообщение);

or

@Topic("приветствовать")
void sendGreetMessage(@KafkaKey Строковый день, @Body Строковое сообщение);

Ссылки:-

https://micronaut-projects.github.io/micronaut-kafka/latest/guide/

Больше таких историй

Давайте общаться в Stackoverflow, LinkedIn, Facebook и Twitter.