Пример потребителя и производителя 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
Предпосылки:-
- Java-программирование
- Кафка
- Микронавт
Я предполагаю, что люди. Вы знаете об этом, если вы не знаете, то изучите это.
Micronaut предлагает специальную поддержку для определения экземпляров Kafka Producer и Consumer.
Кафка Продюсер: -
Мы создадим одного простого производителя, используя аннотацию.
Аннотация @KafkaClient используется для обозначения того, что это клиент kafka.
Указывается аннотация @Topic, в какой теме должно быть опубликовано сообщение.
Аннотация @Kafkakey должна иметь ключ сообщения.
В приведенном выше фрагменте кода мы определили два метода:
- В первом методе, принимающем два аргумента: ключ и значение, а имя темы аннотируется с помощью @Topic.
- Во втором методе вместо аннотации имени темы мы принимаем имя темы в качестве аргумента.
Если вы опустите @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.