참고
카산드라가 노드 장애시에도 fault tolerance을 유지하는 주요 방법 중 하나는 hinted handoff 메커니즘이다. cassandra.yaml에서 hinted_handoff_enabled이 true로 설정되어 있으면(기본 설정) 복제 노드 중 하나에 도달 할 수 없을 때 카산드라는 coordinator 노드에 hint를 저장한다.
해당 힌트는 클러스터에 속한 위치에 대한 정보를 포함한다. coordinator가 복제 노드가 다시 정상화되는 것을 알아차리게 되면 hint 정보를 복제 노드에서 replay시킨다.
기본적으로 Cassandra는 hint 대기열이 너무 길어지는 것을 방지하기 위해 최대 3시간 동안 hint를 저장한다. cassandra.yaml의 max_hint_window_in_ms 속성(기본 3시간)이 해당 hint가 저장되는 시간을 의미한다.
max_hin_window_in_ms 시간이 지나면 일관성을 복원하기 위해 node repair를 실행해야 한다.
'cassandra' 카테고리의 다른 글
[펌] cassandra summit 2016 중 compaction과 tombstone과 관련된 자료 (0) | 2017.01.24 |
---|---|
cassandra의 동기화를 유지하는 메커니즘 (0) | 2017.01.19 |
[cassandra] 카산드라 팁 - 조심히 사용해야 할 내용 (0) | 2017.01.17 |
[cassandra] 키의 종류 - primary key, partition key, clustering key, composite(compound) key, composite partition key, secondary index (0) | 2017.01.17 |
[cassandra] nodetool ring 을 통해서 살펴본 카산드라 내부 구조(토큰, vnode) (0) | 2017.01.17 |