Зажечь кеш - PullRequest
       31

Зажечь кеш

0 голосов
/ 26 июня 2019

Для целей разработки / отладки я хотел бы иметь простой способ обнаружения различий в кэше Ignite в нескольких (фактически двух) средах, в которых выполняется одно и то же приложение.Просто факт разницы, уже есть разработанные инструменты для сброса кеша для расследования.Режим кэширования реплицируется.

Я думаю о вычислении хэша кеша, а затем просто сравниваю две строки.Либо по запросу, либо по расписанию.Запрос приходит от клиентского узла.

Каков наилучший способ архивировать это?Предоставляет ли Ignite подходящий инструмент из коробки (например, IgniteCache.hashCode() может это сделать)?Является ли хорошей идеей запустить задание в кластере, чтобы оценить вычисления на узле сервера и избежать передачи данных?Если да, как запустить задание только на одном узле сервера, который является основным для кеша?

Кэш - это до 1 миллиона «маленьких» записей.Вычисления будут запрашиваться не часто и только в средах разработки.

UPD.Несколько сред означают отдельные кластеры Ignite, но подключенные к одному и тому же источнику данных, и, следовательно, ожидается, что они будут хранить одни и те же данные.

Ответы [ 2 ]

0 голосов
/ 27 июня 2019

Вы можете использовать запрос сканирования для каждого раздела, а затем вычислять хэши каждой записи в разделе, помещать их в хэш-набор и сравнивать (или просто добавлять их, это может дать ложные срабатывания).Повторите для всех разделов.

0 голосов
/ 26 июня 2019

Если вы запустите кеш в режиме REPLICATED, то Ignite сделает всю работу за вас.Использование IgniteCache.hashCode () не рекомендуется, поскольку он не был разработан для этой цели.

дополнительная информация по адресу: https://apacheignite.readme.io/docs/cache-modes

...