infinispan - Синхронизация между узлами. - PullRequest
0 голосов
/ 17 декабря 2018

в моем приложении, у меня есть микро-сервис, развернутый в двух экземплярах на одном компьютере, микро-сервис позволяет мне вставлять некоторые данные в кеш, используя infnispan.сначала я запустил только один экземпляр и поместил данные Samed в кеш, но когда я запустил второй, я заметил, что между ними есть синхронизация ... это нормально, так как второй - присоединение к кластеру.(для вашей информации, я использую jgroups для кластеризации).поэтому, когда я вызываю сервис для извлечения тех же данных для второго экземпляра, он не отвечает, потому что он находится в фазе синхронизации, у него нет данных.но когда он заканчивается, он возвращает мне ответ;

, поэтому мой вопрос: как я могу знать, что синхронизация между этими двумя экземплярами прекращена?в бесконечности есть способ сообщить мне, что синхронизация между узлами в бесконечности закончена?

спасибо за вашу помощь

1 Ответ

0 голосов
/ 18 декабря 2018

Эта синхронизация называется «передачей состояния», и вы можете сделать так, чтобы она блокировалась (т. Е. Узлы ожидали первоначальной передачи, прежде чем стать отзывчивой), или неблокировала (что означает, что они немедленно отвечают на запросы, удаленно извлекая записи, если они непока не переведено).Вы можете получить событие для завершения передачи состояния, зарегистрировав прослушиватель кэша для DataRehashedEvent

. Вы можете сделать передачу состояния неблокируемой, установив "await-initial-передать атрибут "" в значение false в конфигурации передачи состояния кэша

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