У меня есть доказательство концепции GridGain 6.1.9, которая соответствует нашим требованиям, до этого мы оценивали EhCache, а затем InfiniSpan, теперь мы оцениваем GridGain.
Я написал приведенный ниже пример кода для выполнения общего кеша между компьютерами (с собственными отдельными JVM), у которых будет общий кеш ч/б.
try ( Grid grid = GridGain.start("{GRIDGAIN_HOME}/examples/config/example-cache.xml") ) {
final GridCache<Integer, String> cache = grid.cache("partitioned");
String oldVal = cache.put(1, "1");
boolean success = cache.putx(2, "2");
success = cache.putxIfAbsent(3, "3");
System.out.println("Current Value : " + cache.get(3) );
}
Я использовал файл конфигурации «example-cache.xml», который входит в пакет GridGain. только с «разделенной» конфигурацией кеша (остальные кеши удалены). Я также добавил «GridMulticastDiscoverySpi», чтобы автоматически обнаруживать узлы на нескольких/распределенных компьютерах.
Я использовал это сообщение в блоге и видео в качестве руководства .
Но мало что сбивает с толку, поскольку они неясно показаны на видео.
- использовал ли он один JVM или несколько
- Файл конфигурации xml был изменен или не изменен
- он запустил первый узел на удаленном компьютере или на текущем компьютере
- если он использовал многоадресное обнаружение spi, то какие конфигурации xml
Сначала я запустил узел GridGain на удаленном компьютере с помощью следующей команды: ggstart.bat examples/config/example-cache.xml, которая отображает следующий вывод.
.....
[13:43:51] GridGain node started OK (id=8c8758d1)
[13:43:51] Topology snapshot [ver=1, nodes=1, CPUs=2, heap=1.0GB]
Во-вторых, я запустил приведенный выше код из Eclipse, после чего он отобразил следующий вывод
.....
[13:45:26] GridGain node started OK (id=8c8758d1)
[13:45:26] Topology snapshot [ver=1, nodes=1, CPUs=2, heap=0.24GB]
Current Value : 3
[13:45:34] GridGain node stopped OK [uptime=00:00:07:897]
Обратите внимание, что на обоих выходах отображается «nodes=1». но в видео количество узлов было увеличено, когда было запущено больше узлов, а оставшиеся узлы были уведомлены о вновь запущенном узле. Это не произошло со мной вообще.
С моей стороны оба компьютера подключены к локальной сети в одной сети, и оба могут пинговать друг друга. Брандмауэр отключен с обеих сторон.
Я просмотрел множество форумов, но до сих пор не смог найти ни одного примера того, как разделить один кеш между двумя или более физическими компьютерами, мне нужна помощь, может ли кто-нибудь помочь в этом.
С уважением -ВА