Hazelcast - чтение-резервное копирование данных против кеша
В конфигурации IMap есть атрибут read-backup-data
это может быть установлено как true, что позволяет члену считывать значение из резервной копии, если она доступна, в случае, если владельцем ключа является какой-либо другой член.
Затем существует кеширование, которое начнет локальное кэширование результатов для нескольких структур данных.
Если у нас есть 2 вида настройки кластера:
2
члены иasync-backup-count
для карты есть1
, а такжеread-backup-data
являетсяtrue
2
члены, ближний кэш включен для этой карты
Будут ли различия в этих двух подходах?
Первая установка, вероятно, будет использовать меньше памяти и не будет настраиваться. Но с точки зрения производительности чтения?
1 ответ
Для настройки двух членов кластера; Включение чтения из резервной копии предоставит вам доступ ко всем данным локально, поскольку оба участника хранят все записи как первичные или резервные. Эта настройка не сильно отличается от использования реплицированной карты (подробности см. Здесь: http://docs.hazelcast.org/docs/latest-development/manual/html/Distributed_Data_Structures/Replicated_Map.html). Так; если в вашем кластере только два участника (также нет клиентов), включение чтения из резервной копии может быть более выгодным с точки зрения производительности.
Тем не мение; Ближний кэш имеет множество параметров конфигурации, и вы можете решить, какой объем данных вам нужен для локального доступа при любом типе настройки (включая топологию клиент-сервер). Вы также можете выбрать формат данных в памяти в ближайшем кеше. Эти параметры могут обеспечить вам большую производительность, чем включение резервного копирования.
Оба параметра не так сильно отличаются в производительности чтения одной записи (я полагаю, что рядом с кэшем содержится допустимая запись), так как обе не выполняют удаленную операцию.