2014-06-12 3 views

답변

1

정말 캐시 구현에 따라 다릅니다.

Hazelcast에서 일반지도를 보면 데이터가 분할됩니다. 기본적으로 271 개의 파티션에 있습니다. 271.000 키/값이 있다고 가정하면 각 파티션에는 1000 개의 키/값이 생깁니다.

각 파티션은 컴퓨터에 할당됩니다. 그래서 우리가해야 할 경우. map.get ("foo")는 아마도 파티션 25에 매핑 될 것입니다 (우리는 키의 해시를 결정하고이를 토대로 어떤 멤버가 파티션 25를 소유하고 있는지 파티션 테이블을 봅니다). 그런 다음 키 "foo"의 값을 반환하는 요청을 해당 컴퓨터로 보냅니다.

이렇게하면 Hazelcast의 일반 분할 맵 (IMap)이 어떻게 작동하는지 대략적으로 알 수 있습니다.

+0

답장을 보내 주셔서 감사합니다. 그렇다면 파티션 테이블이 저장된 머신 또는 jvm은 어디입니까? 예를 들어, 어떤 hazelcast 인스턴스가 파티션 테이블을 점검하거나 요청해야하는지 알 수 있습니다. 예를 들어, 우리는 3 개의 hazelcast 인스턴스를 다른 jvms에서 작동하지만 동일한 기계에서 실행한다고 가정 해 보겠습니다. 이러한 3 개의 JVM 인스턴스에 대해 액세스 가능한 일부 메모리 영역을 제공합니까? . – daemonThread

+0

각 기계에는 항상 최대 데이터 사본이 있습니다. 회원이 가입/탈퇴하면 모든 회원이 새 사본을 받게됩니다. – pveentjer

관련 문제