мы внедряем Hazelcast2.5 в качестве нашего механизма распределенного кэша. Перед полной реализацией Hazelcast Distribute Map мы можем получить некоторое представление о том, как у hazelcast есть своя распределенная карта. т.е. как он распределяет данные между двумя JVM. Использует ли Hazelcast для этого собственную расширенную карту.
Внутренний общий доступ Hazelcast Карта fDistributed
Ответы (1)
Мы реализуем интерфейс Map (точнее, интерфейс ConcurrentMap). Но под этим интерфейсом реализация полностью настраиваемая.
Hazelcast разделяет ваши данные на основе ключа записи карты. По умолчанию существует 271 раздел, и они распределены по членам кластера. Таким образом, в кластере из 2 узлов каждый член получает +/- 135 разделов.
Когда запись выполнена, правильный раздел определяется на основе хэша ключа. Затем запись отправляется на машину, владеющую этим разделом, и обрабатывается.
Когда получение выполнено, правильный раздел также определяется на основе хэша ключа. Затем get отправляется на машину, владеющую этим разделом, и после считывания значения результат отправляется обратно клиенту.
Это очень упрощенное объяснение того, как работает карта Hazelcast.