0

Apache Helix가 동적 클러스터 확장/축소 (예 : 물리적 노드의 추가/실패/제거)를 허용한다는 것을 알고 있습니다. 그러나 단일 물리적 노드가 단일 파티션 복제본을 처리 할 수없는 경우 분할 영역을 두 개로 분할해야합니다. 워크로드를 미리 예측해야하므로 충분한 수의 파티션을 미리 설정할 수 있다는 것을 알고 있습니다. 그러나 트래픽이 예상치 않게 올라감에 따라 그러한 사전 추정은 거의 불가능합니다. Helix가 out-of-box를 다시 파티션 할 수 있는지 여부를 알려줄 수 있습니까? 내가 다시 분할 기능을 추가하기 위해 사용자 정의해야한다면, 원칙적으로 얼마나 많은 노력과 방법이 필요합니다. 나는 빠른 견적을 갖고 싶다. 감사합니다Apache Helix는 분할 영역 분할 및 병합을 지원합니까?

답변

0

헬릭스는 파티션 분리/병합을 지원하지 않습니다. 기본 시스템을 이해하지 않고도이를 지원할 수있는 일반적인 방법을 찾지 못했습니다.

Helix에서 제공하는 프리미티브를 사용하여 맞춤 솔루션을 구축 할 수 있습니다. 시스템에 대한 추가 정보를 제공 할 수 있다면 뭔가 제안 할 수 있습니다.

0

많은 수의 (논리적 인) 파티션으로 시작하고 각 노드에 여러 파티션을 할당하는 것이 좋습니다. 서비스에 더 많은 리소스가 필요할 때 노드를 추가하고 기존 노드의 일부 파티션을 새 노드로 이동하십시오. 예를 들어, 50 개의 노드로 시작한다고 가정하면 작업 부하의 공간을 50000 개의 논리 파티션으로 분할하고 각 노드에 1000 개의 파티션을 할당합니다. 그런 다음 75 노드로 증가하면 재배포하십시오. 따라서 노드 당 667 개의 파티션이됩니다. 실제 시나리오에 따라 재 할당 된 파티션을 최소화하려는 경우가 있습니다 (예 : 일관된 해시 알고리즘 사용).