클러스터에 서버 노드 추가
NCache 클러스터는 동적이며 실행 중인 캐시 클러스터에 서버 노드를 추가하는 것을 지원합니다. 새 캐시 서버가 시작되면 자동으로 기존 캐시 클러스터에 합류합니다. 이미 실행 중인 캐시 클러스터에 연결되어 있는 캐시 클라이언트는 캐싱 토폴로지에서 필요한 경우 새 캐시 서버에 자동으로 연결됩니다.
캐시에 노드 추가
사용법 - NCache 관리 센터
를 실행 NCache 관리 센터로 이동하여 http://localhost:8251 or
<server-ip>:8251
Windows 및 Linux에서.왼쪽 탐색 모음에서 클러스터된 캐시. 새 페이지가 열립니다.
<server-ip>:8251/
. 이 페이지에는 기존 로컬 또는 클러스터 캐시와 서버 및 서버 플랫폼과 같은 추가 세부 정보가 표시됩니다.캐시 이름에 대해 다음을 클릭하십시오. 자세한 정보 보기.
그러면 캐시에 대한 세부 구성 페이지가 열립니다. 그만큼 서버 노드 탭에는 캐시의 기존 서버 노드 목록과 상태가 표시됩니다.
온 클릭 버튼을 클릭하고 서버 노드 IP를 지정합니다. 성공 알림이 표시됩니다.
- 새로 추가된 노드가 서버 노드 목록에 표시됩니다.
명령줄 도구 사용
노드 추가 지정된 서버의 기존 클러스터 캐시에 새 서버 노드를 추가할 수 있습니다. 또한 사용자는 클러스터 캐시에 여러 서버 노드를 가질 수 있습니다.
이 명령은 서버 노드 20.200.20.40에 존재하는 DemoClusteredCache라는 캐시에 새 노드 20.200.20.39을 추가합니다.
Add-Node -CacheName demoClusteredCache -ExistingServer 20.200.20.39 -NewServer 20.200.20.40
새 노드가 클러스터에 연결되도록 하려면 다음을 사용하여 캐시를 시작해야 합니다. 캐시 시작 도구 :
Start-Cache -Name demoClusteredCache
이러한 cmdlet의 추가 속성은 다음을 참조하세요. NCache 명령줄 참조.
노드 추가 성공 확인
서버 노드가 성공적으로 추가되었는지 확인하려면 명령줄을 열고 캐시 가져오기 cmdlet(함께 제공됨 NCache) 이랑 -Detail
캐시 서버에 등록된 모든 캐시의 상세 상태를 제공하는 매개변수입니다.
예를 들어, 이 경우 DemoClusteredCache의 클러스터 크기는 2이고 각 캐시 서버의 IP 주소도 함께 나열되어 있음을 확인해야 합니다. 추가된 노드는 이제 목록에 존재하게 됩니다. 출력에는 항목 수 및 상태와 같은 추가 캐시 정보도 표시됩니다.
Get-Caches -Detail
토폴로지 현명한 동작
실행 중인 캐시 클러스터에 새 캐시 서버를 추가할 때의 토폴로지별 동작은 아래에 설명되어 있습니다.
파티션된 캐시
국가 이전:
상태 이전 NCache 한 캐시 서버에서 다른 캐시 서버로 데이터를 자동으로 이동하거나 복사하는 것을 의미합니다. 분할된 캐시에서 데이터는 실행 중인 캐시 서버 간에 분할됩니다. 따라서 새로운 캐시 서버가 클러스터에 합류하면 자동으로 새로운 파티션이 생성되고 그에 따라 데이터 분포가 변경됩니다. 그런 다음 이 캐시 서버는 상태 전송을 통해 데이터 공유를 얻습니다. 따라서 클러스터에 2개의 캐시 서버가 있고 각 캐시 서버의 파티션에 1GB의 캐시 데이터가 있는 경우 새 캐시 서버가 클러스터에 합류하고 해당 상태 전송이 완료된 후 모든 캐시 서버는 이제 약 600MB의 데이터를 보유합니다.
클라이언트 연결:
분할된 캐시에서는 데이터가 실행 중인 모든 캐시 서버 간에 분할됩니다. 따라서 캐시 클라이언트는 모든 캐시 서버와 연결되어 있어 단일 홉에서 모든 데이터에 접근할 수 있습니다. 새로운 캐시 서버가 클러스터에 합류하면 데이터 분산 맵이 변경되고 새로운 HashMap
생성됩니다. 그런 다음, HashMap
변경 이벤트가 발생하고 실행 중인 모든 캐시 클라이언트에 이를 통해 알림이 전달됩니다. 그런 다음 자동으로 이 새로운 캐시 서버와의 연결을 설정하고 해당 서버에도 요청을 보내기 시작합니다.
복제된 캐시
국가 이전:
복제된 캐시에서 각 캐시 서버는 전체 캐시를 보유하므로 동일한 데이터 세트를 보유합니다. 따라서 새로운 캐시 서버가 클러스터에 합류하면 상태 전송을 통해 기존 캐시 서버로부터 전체 캐시의 또 다른 복사본을 얻습니다.
클라이언트 연결:
복제된 캐시에서는 각 클라이언트가 전체 캐시를 보유하므로 하나의 캐시 서버에만 연결됩니다. 캐시 클라이언트는 실행 중인 모든 캐시 서버 간에 로드 밸런싱되어 요청 로드를 균등하게 분배합니다. 클라이언트 구성에서 클라이언트의 로드 밸런싱을 끌 수 있습니다. 클라이언트.ncconf 파일 또는 지정하여 CacheConnectionOptions.LoadBalance
플래그를 false로 설정 캐시 가져오기 방법.
새로운 캐시 서버가 복제된 캐시의 캐시 클러스터에 합류하고 로드 밸런싱이 "true"로 구성되면 기존 캐시 서버 각각은 일부 클라이언트에게 새로 합류하는 캐시 서버로 이동하도록 요청합니다. 이러한 방식으로 클라이언트는 모든 캐시 서버 간에 재조정됩니다. 로드 밸런싱이 "false"로 구성되면 이런 일이 발생하지 않으며 클라이언트는 이전 캐시 서버에 연결된 상태를 유지합니다.
서버 노드는 언제든지 클러스터 캐시에 추가될 수 있습니다.