Как написать задание Hazelcast Jet для обработки запроса Http и выдачи результата в качестве ответа

У меня есть конечная точка http, где клиент делает запрос со своими данными, на которые возвращается вычисленный ответ. Вычисление состоит из нескольких этапов - data lookup, calculations и несколько transformations. Окончательный результат записывается как ответ на запрос.

Могу ли я написать задание Hazelcast Jet, которое принимает данные, полученные в http, все ли вычисления, определенные выше, и отвечают ли результатом на запрос?

Я не вижу прямого пути к этому, однако я вижу один подход: иметь реактивный http-сервер, читать запрос реактивным способом, записывать запрос в Ringbuffer или IQueue и ждать результата (с помощью обратного вызова) в прочее Ringbuffer.

Задание Hazelcast может читать из источника Ringbuffer, вычислять и преобразовывать, наконец, записывая результат в другой Ringbuffer (приемник).

Hazelcast Jet использовала такой способ? Ваши мысли могут помочь лучше понять Джета.


person Vijay Veeraraghavan    schedule 08.01.2020    source источник
comment
Я полагаю, что это разумный способ использования Jet. Он должен выполнять задание неограниченной потоковой передачи, в котором каждый запрос представляет собой только один входной элемент. Это должно позволить вам добиться отличного использования ресурсов и пропускной способности. Однако у проекта Hazelcast Jet еще нет демонстрации или примера кода, реализующего это.   -  person Marko Topolnik    schedule 08.01.2020
comment
Вы можете указать мне на какие-нибудь ресурсы?   -  person Vijay Veeraraghavan    schedule 08.01.2020


Ответы (1)


Я бы посоветовал добавить веб-слой: поскольку вам нужно будет написать конечную точку HTTP для запуска Jet Job, он может отправить ответ после завершения Job.

Вы можете блокировать / реагировать / что угодно, но логика та же.

person Nicolas    schedule 08.01.2020
comment
Итак, если я понял ваше утверждение, средство чтения запросов запускает задание и отправляет ответ о завершении задания с результатом. - person Vijay Veeraraghavan; 08.01.2020
comment
Вот что бы я сделал. Разделение забот и все. - person Nicolas; 09.01.2020