Cassandra의 Snitches 소개



이것은 스 니치와 그것이 카산드라에서하는 역할을 정의합니다.

스 니치는 무엇입니까?

스 니치는 어떤 데이터 센터와 랙에 쓰고 읽을 것인지 결정합니다. 스 니치의 임무는 단순히 상대적 호스트 근접성을 결정하는 것입니다. 따라서 노드에 데이터 복사 옵션이 3 개있는 경우 어떤 호스트를 선택해야합니까? 어느 호스트에서 데이터를 선호해야합니까?

토큰 자바는 무엇입니까

이것이 호스트가 받기를 원하는 종류의 정보라면, 어느 호스트가 상대적으로 더 가까운 지 확인하기 위해 특정 스 니치를 호출합니다. 스 니치는 네트워크 토폴로지에 대한 정보를 수집합니다. 사용중인 스 니치 유형에 따라 사용자가 사용중인 네트워크 토폴로지를 인식하고 요청을 효율적으로 라우팅 할 수 있습니다.





단일 데이터 센터 클러스터의 경우 기본 단순 스 니치를 사용하는 것으로 충분합니다. 따라서 간단한 스 니치는 아무것도 아니라 랙 인식하지 못하는 스 니치입니다. 클러스터의 랙과 데이터 센터에 대해 알지 못합니다. 정보가 없으므로 랙이 없다고 가정하고 사용 가능한 네트워크 대역폭 측면에서 가장 가까운 호스트를 선택합니다. 동일한 랙 또는 동일한 데이터 센터의 노드를 선호해야하는지 여부는 고려하지 않습니다. 그러나 사용 가능한 다른 복제본은 랙을 인식하며 다양한 유형의 스 니치가 있습니다.

스 니치의 종류

단순 스 니치 노드를 통해 시계 방향으로 걷는 다음 사용 가능한 노드에 행 사본을 배치하는 전략이 있습니다.



랙 추론 스 니치 – 데이터 센터에 서로 다른 랙 행의 복사본을 배치하려고합니다. 랙과 데이터 센터에 대해 알고 다른 랙과 데이터 센터에 복사본을 배치하려고합니다. IP 주소에서 데이터 센터 주소와 랙을 결정할 수 있습니다. 따라서 IP 주소는 두 번째 IP 주소 단위가 데이터 센터를 식별하는 데 사용되는 방식으로 구성되어야합니다. 세 번째 장치는 랙을 식별합니다.

속성 파일 스 니치 – 랙 추론에서는 IP 주소를 읽지 만 주소가 이렇게 구성되지 않은 경우 속성 파일에이 정보를 정의하는 옵션이 있습니다. 그렇다면 속성 파일에서이 정보를 어떻게 정의합니까?

세부 정보는 Cassandra 토폴로지 속성에서 클러스터의 각 노드에 정의되어야합니다. 이 파일은 모든 노드에서 동일해야하며 한 노드에서 다른 노드로 다르지 않아야합니다.



질문이 있으십니까? 댓글 섹션에서 언급하시면 다시 연락 드리겠습니다.

자바에서 우선 순위 큐 구현