2016-11-19 7 views
0

최근 Amazon의 키/값 저장 시스템 인 Dynamo의 문서를 읽었습니다. Dynamo는 일관된 해싱 알고리즘을 파티션 알고리즘으로 사용합니다. 로드 균형과 이기종의 문제를 해결하기 위해 "가상 노드"메커니즘을 적용합니다. 여기 내 질문은 :Dynamo의 가상 노드

  1. 은 "노드가 책임 입니다 가상 노드의 수는 용량에 따라 않기로 결정 할 수 있습니다"고 설명하지만 어떤 자격이 은? 계산 용량, 네트워크 대역폭 또는 디스크 볼륨입니까?
  2. 노드를 "가상 노드"로 분할하는 기술은 무엇입니까? 가상 노드가 프로세스인가? 아니면 도커 또는 가상 머신을 사용하고 있을까요?
+0

1) Amazon secret sauce 2) Amazon secret sauce –

답변

0

# 1에 대한 답변은 다음과 같습니다. 모두 위의입니다. 용량은 일부로드 테스트를 실행하고 결과를 언급 한 후에 다른 노드 유형에 대해 경험적으로 결정될 수 있습니다. 웹 서버의 용량을 결정할 때 사용하는 것과 유사한 프로세스입니다.

두 번째 질문에 대한 논평은 노드가 논리적 관점에서 생각해야한다고 말합니다. # 1을 만족시키기 위해, 링 내의 노드들이 하나 또는 다수의 노드들이 동일한 물리적 하드웨어에 해싱되도록 지정된다. 따라서 가상 노드는 논리적 인 매핑 일뿐입니다. 그것은 물리 계층 위에 추상화의 단지 하나의 계층입니다. 파일 시스템에 익숙하다면 iNode와 같은 가상 노드를 생각해보십시오. 아마도 약간 오래된 것으로 보입니다.

관련 문제