DistributedTask на Hazelcast, реализация Задачи, необходимая на Hazelcast, или вызывающая сторона может реализовать это - PullRequest
1 голос
/ 13 марта 2019

Мне трудно понять поведение реализации DistributedTask в Hazelcast. Для меня - Распределенная задача, по определению это «Некоторая логика (в основном тяжелое выполнение), которую Caller хочет обработать, передается распределенным сервисам по сети». Теоретически эти распределенные процессоры по сети не должны знать заранее Task Logic. Вызывающая сторона должна предоставить логику для выполнения и ссылки на точки данных для этих служб распределения, и как только задача будет выполнена, вызывающая сторона должна получить результат.

Теперь, с точки зрения Hazelcast, кажется, что самим серверам Hazlecast необходимо заранее знать логику (DistributedTask). Правильно ли мое понимание?

Я исходил из предположения, что Вызывающий абонент (простое ванильное соединение сазл-вещания, указывающее на любой экземпляр сервера Hazlecast) должен иметь возможность передавать тело Распределенной функции с сериализованными объектами на сервер и запрашивать удаленное выполнение функции, без использования Hazlecast. узлы, которые знают что-либо о теле функции ?

1 Ответ

1 голос
/ 13 марта 2019

Простой ответ - вам нужно определение класса для десериализации сериализованного байтового массива.В случае Hazelcast распределенная задача исполнителя требует наличия кода выполнения и в пути к классам серверных узлов, поскольку серверам необходимо определение класса для десериализации сериализованного массива байтов кода кода задачи, который был вызван вызывающей стороной.

Это то же самое, что и при использовании OBJECT в формате памяти для серверов для хранения данных в форме объекта Java.По умолчанию данные хранятся в сериализованной форме байтовых массивов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...