Имеет ли Hazelcast репликацию, похожую на Ehcache?
http://www.ehcache.org/generated/2.9.0/pdf/Ehcache_Replication_Guide.pdfРепликация Hazelcast?
Я нашел только распределенный, но не реплицированный.
Имеет ли Hazelcast репликацию, похожую на Ehcache?
http://www.ehcache.org/generated/2.9.0/pdf/Ehcache_Replication_Guide.pdfРепликация Hazelcast?
Я нашел только распределенный, но не реплицированный.
См. ReplicatedMap (http://docs.hazelcast.org/docs/3.6/manual/html-single/index.html#replicated-map), который лучше всего реплицируется и, следовательно, почти эквивалентен репликации в EHcache.
Из моего опыта, помимо реплицированных структур данных, существует способ динамической репликации в соответствии с вашими потребностями. Это не официальный способ, просто обходной путь. Вы можете использовать резервные копии, чтобы сделать вашу жизнь проще.
Пример: У меня есть IMap, и я хочу его во всех своих узлах (я не знаю, зачем вам это нужно, но, допустим, вы это делаете). Я могу сделать 2 шага.
Так что теперь все ваши узлы имеют копию данных, и так как вы можете прочитать из резервной копии это похоже на реплицированную карту.
Вы можете играть с подсчетом резервного копирования или с подсчетом async-backup-count в зависимости от требуемого уровня согласованности. Нажмите here для получения более подробной информации.
Если у вас есть экземпляры каменного дерева N, сгруппированные вместе (N узлов), то ваши данные будут разделены на N частей. Каждая часть будет принадлежать одному узлу. Основываясь на том, что представляет собой сконфигурированный коэффициент репликации (по умолчанию 3), каждая часть также будет реплицироваться в некоторых других узлах. Таким образом, каждый узел будет иметь часть, принадлежащую ей, и некоторые другие части, которые являются просто репликой.
Реплицированные карты Hazelcast намного превосходят EHcache, они будут реплицировать всю карту на каждом узле (JVM) в вашем кластере.
Кроме того, вы можете использовать разбитую карту, которая будет разделять ваши данные на всех JVM, но отображается клиенту, как если бы это была одна карта.
Это позволяет хранить гораздо больше данных, чем может храниться в одной JVM.
Хорошее эмпирическое правило для определения размера кучи вашего кластера заключается в том, что вы получаете 1/3 для данных, 1/3 для резервного копирования другого узла (при условии, что количество резервных копий равно 1) и 1/3 для обработки JVM.
Но не все операции поддерживают чтение-от-резервное копирование (что-то связано с доступом без ключа), поэтому это часто вводит в заблуждение :) – noctarius
Да, это нехорошее решение. Это обходное решение для системы с интенсивным чтением, в которой есть много связанных с ключом. :) – Reveka