Как стать автором
Обновить
4
0
Коваль Александр @kartzum

Старший разработчик

Отправить сообщение
Идея простая.
Есть клиенты/сервисы, которые работают с REST API. Их задача — отправить сообщение другим сервисам и дождаться ответа. Для таких сервисов нужно и реализовать подобное решение т.к. работать с kafka они не умеют.
Где это может пригодиться?
К примеру, есть модели машинного обучения, которые работают на базе Spark Streaming. Эти модели по входным данным в виде вектора возвращают результат в виде скаляра. Данные извлекаются из одного topic, а результаты записываются в другой. И есть клиенты, которые должны получать результаты моделей и могут это делать только через REST API. Тогда реализуется такой сервис. С 3-я методами. Отправить запрос на расчет с данными и вернуть ключ запроса. Получить по ключу статус расчета. Получить по ключу результаты расчета.
Конечно, это можно сделать, к примеру, на websocket-х, но это уже за пределами этой статьи.

Проверяется, что есть взаимодействие.
Здесь имеется ввиду проверка взаимодействия между сущностями в разных слоях.
Цель — это показать возможность написания тестов, в которых используется не только kafka, но и прикладной код, который работает на другом уровне.
Согласен, что описание примера получилось скомканным (постараюсь добавить больше деталей).
Попробую дополнить. Пусть будет сервис со своим API, внутри сервиса есть обращение, к другим сервисам, к примеру, kafka и взаимодействие с этими сервисами, нетривиальное. Требуется написать для такого сервиса интеграционные тесты.

Здесь есть различные варианты ответов: github.com/confluentinc/confluent-kafka-dotnet/issues/344
Есть большие шансы, что не сделают.
Как вариант предлагают KSQL.

C python аналогично: github.com/confluentinc/confluent-kafka-python/issues/38

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность