2013년 10월 4일 금요일

불균질적인(heterogenous) 클러스터

인피니스팬 클러스터에 참여하는 것의 기본적인 규칙중 하나는 모두가 같은 만큼의 공유를 해야한다는 것이었다. 물론, 각 노드는 다른 캐시 셋을 실행할 수 있었다. (즉 클러스터는 대칭적일 필요는 없었다) 하지만 노드가 분산 캐시를 시작할 때, 다른 모든 캐시 멤버들과 똑 같은 키의 공유에 대한 소유권을 자동적으로 가져왔다.

6.0.0.Beta1에서 ISPN-3051의 구현으로 이젠 더이상 그렇지 않다. 새로운 capacityFactor 세팅을 사용하여 각 노드는 이제 많거나 적은 키들을 소유하도록 맞춰질 수 있다. 기본값은 1.0이고 노드들은 설정 API를 통해 크거나 작은 같을 정할 수 있다.

또는 다음와 같이 XML설정을 할 수 있다.

하나의 노드가 소유하고 있는 키의 개수가 정확히 capacity factor에 비례한다고 보장할 수 없다는 것을 염두에 두라. 특별히 ConsistentHashFactory의 커스텀 구현체는 완전히 capacityFactor 설정을 무시할 수 있다. 하지만 ConsistentHashFactory의 기본 구현체는 가능한 그것을 지키려고 할 것이다.

적용 사례로 흥미로운 것은 capacity factor가 0인 노드들이다. 노드가 짧은 시간동안만 살아있어서 데이터를 소유하기에는 적합하지 않는 상황에서, 트랜잭션을 사용하고 싶지만 핫로드 또는 다른 원격 프로토콜이 사용 불가능할 때 이것이 유용할 수 있다. 사이트간 복제 또한 하나의 예인데, "사이트 마스터"가 사이트간에 커맨드 전달만 처리하고 사용자 요청은 처리하지 말아야 할때 capacity factor를 0으로 설정하는 것이 적합하다.

주의사항: 인피니스팬 서버 6.0.0.Beta1도 이 기능을 지원한다. 하지만 설정은 애플리케이션 서버의 이름 규칙에 따라 capacity-factor로 불린다.

원문:
Friday, 20 September 2013, Heterogenous clusters with Infinispan 6.0.0.Beta1

댓글 없음:

댓글 쓰기