Как выделить узлы в бесконечной вычислительной сетке - PullRequest
3 голосов
/ 12 января 2012

Мы хотим использовать Infinispan в качестве вычислительной сетки. Мы нашли документацию по инфраструктуре распределенного выполнения в Infinispan 5.0 .

То, что мы хотим сделать, - это выделить некоторые узлы кэша в качестве выделенных узлов для выполнения определенных задач, поскольку только эти узлы имеют необходимое оборудование.

Моя идея состояла в том, чтобы создать распределенный кэш, отображающий HardwareDriverKey на HardwareDriver, и выполнить задачу, используя DistributedExecutorService.submit (task, hardwareDriverKey). Чтобы это работало, нам нужно найти способ гарантировать, что hardwareDriverKey всегда находится на определенном узле распределенного кэша, содержащего фактическое оборудование.

Нужно ли нам писать собственный ConsistentHash, который может извлечь адрес узла из hardwareDriverKey? У вас есть пример для этого? Или есть другой способ?

Спасибо заранее, Герт.

Ответы [ 2 ]

2 голосов
/ 13 января 2012

Это в основном заставляет группы объектов оставаться на одном узле, но вы не можете контролировать, какой это узел.Для принудительного определения местоположения по определенному адресу вы можете использовать KeyAffinityService .Имейте в виду, что объекты могут перемещаться при изменении топологии.

1 голос
/ 12 января 2012

Для решения этой проблемы существует API группировки.Вы можете прочитать больше об этом здесь .

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