NCache 확장성과 고가용성을 제공하는 성능 최적화 솔루션입니다. 데이터 일관성 및 안정성과 함께 선형 확장성을 제공하기 위해 다양한 캐싱 토폴로지를 제공합니다. 이러한 토폴로지는 수백 개의 캐시 서버가 있는 거대한 캐시 클러스터에 이르기까지 소규모 XNUMX서버 캐싱 환경에서 작동하는 애플리케이션의 다양한 캐싱 요구를 충족하도록 설계되었습니다.
다음은 캐싱 토폴로지의 특징입니다. NCache 제공 :
복제된 캐시
토폴로지는 여러 캐시 서버에서 데이터 복제를 통해 데이터 안정성을 보장합니다. 그만큼 복제된 캐시 읽기 작업을 위해 매우 빠르고 확장 가능합니다. 그러나 클러스터의 모든 서버와 동기식이므로 쓰기 작업에 대해 확장성이 높지 않습니다. 이 토폴로지는 쓰기 작업보다 읽기 작업 수가 더 많은 소규모 캐싱 환경을 위한 것입니다. 다음은 복제된 캐시 토폴로지가 작동하는 방식에 대한 간략한 개요입니다.
복제된 캐시 토폴로지는 어떻게 작동합니까?
복제된 캐시 토폴로지는 높은 데이터 가용성을 제공하며 기존 캐시를 중지하지 않고 동적 서버 추가 및 삭제를 지원합니다.
파티션 및 파티션 복제 토폴로지와 달리 각 클라이언트 응용 프로그램은 캐시 서버에서 결정한 부하 분산 알고리즘을 기반으로 하나의 서버 노드에만 연결됩니다. 연결된 서버가 다운되면 클라이언트 애플리케이션은 목록의 다음 서버에 연결합니다.
미러링된 캐시 토폴로지
XNUMXD덴탈의 미러링된 캐시 소규모 캐싱 환경을 위해 설계된 2노드 능동/수동 캐시 클러스터입니다. 이 토폴로지는 활성 노드에서 수동 노드로의 비동기 복제/미러링을 통해 데이터 안정성과 가용성을 제공합니다.
미러링된 캐시 토폴로지는 어떻게 작동합니까?
미러 캐시 토폴로지에서 클라이언트 노드는 모든 읽기 및 쓰기 작업을 위해 클러스터의 활성 서버 노드에만 연결됩니다. 활성 서버 노드가 다운되면 클라이언트 응용 프로그램은 자동으로 이전 수동 노드와 연결됩니다. 이 장애 조치 지원은 미러 캐시가 항상 실행되도록 합니다. 이 토폴로지는 수동 서버 노드에서 BULK 작업으로 여러 쓰기가 수행되므로 애플리케이션의 성능을 개선하는 데 도움이 되는 쓰기 작업을 위한 비동기 미러링을 제공합니다.
파티션된 캐시
에서 제공하는 가장 빠르고 확장 가능한 캐싱 토폴로지 중 하나입니다. NCache. 토폴로지는 읽기 및 쓰기 작업 모두에 대해 동일하게 효율적입니다. 클러스터에 서버를 추가하여 선형 확장성을 달성합니다. 다음은 분할된 캐시 토폴로지의 작동 방식에 대한 간략한 개요입니다.
분할된 캐시 토폴로지는 어떻게 작동합니까?
분할된 캐시 토폴로지에서 캐시는 런타임 시 각 캐시 서버에 대한 단일 분할 영역으로 나뉩니다. 이러한 파티션은 모든 파티션에 균등하게 분산된 1000개의 버킷으로 클러스터된 캐시를 집합적으로 만듭니다. 클러스터는 서로 다른 파티션의 버킷 매핑을 포함하는 분포 맵을 생성합니다. 이 맵은 클라이언트와 서버 노드 간의 의미 있는 통신을 보장합니다.
토폴로지는 또한 모든 클라이언트 애플리케이션을 캐시 서버에 연결하여 높은 데이터 가용성을 제공합니다. 연결된 서버가 다운되더라도 응용 프로그램이 다른 서버에 요청하여 필요한 데이터를 얻을 수 있도록 합니다.
파티션 복제 캐시 토폴로지
이것은 가장 널리 사용되는 캐싱 토폴로지입니다. NCache. 선형 확장성과 높은 데이터 안정성을 통해 사용자에게 두 세계의 장점을 모두 제공합니다. 이 토폴로지는 분할된 토폴로지만큼 확장 가능하며 동기화 및 비동기 복제 모드로 유망한 성능과 높은 데이터 가용성을 제공합니다. 다음은 이 토폴로지가 작동하는 방식에 대한 간략한 개요입니다.
파티션 복제 캐시 토폴로지는 어떻게 작동합니까?
동적 파티션 생성과 함께 토폴로지는 서로 다른 서버 노드에 이러한 파티션의 동적 복제본을 생성합니다. 이는 연결 실패 또는 노드 다운 시나리오가 있을 때 백업 역할을 합니다. 그런 경우는, NCache 복제본 노드에서 데이터를 가져오고 redis그것을 경의를 표합니다. 그러나 이러한 복제본은 추가된 모든 서버 노드가 활성 및 복제 파티션으로 나뉘므로 클러스터 확장성을 제한합니다.
토폴로지는 두 가지 복제 모드를 제공합니다. 동기화 및 비동기화. 비동기식 복제에서는 모든 복제본이 백그라운드에서 생성되어 성능 지연이 발생하지 않습니다. 그러나 복제본이 다운되면 데이터가 거기에 도달하지 않기 때문에 약간의 데이터 손실 가능성이 있습니다. 이러한 손실을 방지하기 위해 토폴로지는 복제본의 런타임 생성이 있고 복제본에서 실패한 모든 작업이 파티션에서도 실패한 것으로 간주되는 동기화된 복제를 제공합니다. 토폴로지는 높은 데이터 가용성을 보장하기 위해 전체 서버 연결을 제공합니다.
클라이언트 캐시 토폴로지
. 클라이언트 캐시 토폴로지에서 캐시는 애플리케이션에 매우 가까이 있으며 분산 캐시에서 데이터를 빠르게 캐시할 수 있습니다. 클라이언트 캐시는 "캐시 위의 캐시"로 간주될 수도 있습니다. 읽기 집약적인 애플리케이션에 적합하지만 애플리케이션이 동일한 수의 읽기 및 쓰기 작업을 수행해야 하는 경우 쓰기 작업을 위해 두 위치에서 데이터를 업데이트해야 하므로 속도가 느려집니다.
클라이언트 캐시는 로컬이지만 항상 클러스터 캐시와 동기화되므로 독립형이 아닙니다. 이 동기화를 통해 클라이언트 캐시의 데이터가 항상 업데이트됩니다. 다음은 클라이언트 캐시 토폴로지의 주요 특징에 대한 개요입니다.
클라이언트 캐시 토폴로지는 어떻게 작동합니까?
클라이언트 캐시는 InProc(프로세스 내부) 또는 OutProc 모드(웹/앱 서버에 로컬)에 존재합니다. 두 경우 모두 애플리케이션 성능이 향상됩니다. InProc 모드를 사용하면 "응용 프로그램 힙"에 개체를 캐시하여 "InProc 속도" 다른 분산 캐시를 제공할 수 있습니다. 클라이언트 캐시의 가장 좋은 점은 애플리케이션에서 코드 변경이 필요하지 않다는 것입니다. 대신 구성 변경을 통해 연결하기만 하면 됩니다.
토폴로지는 낙관적 및 비관적 데이터 동기화를 제공합니다. 클라이언트 캐시의 기본 동기화는 낙관적이며 여기서 NCache 클라이언트는 클라이언트 캐시에 있는 모든 데이터가 최신 사본이라고 가정합니다. 비관적 동기화에서 캐시 클라이언트는 먼저 캐시된 항목의 최신 버전이 있는지 클러스터된 캐시를 확인합니다. 그렇다면 클라이언트는 이를 가져와 클라이언트 캐시에 넣은 다음 클라이언트 애플리케이션에 반환합니다.
결론
NCache 는 고객의 다양한 캐싱 요구를 충족하기 위해 다양한 캐싱 토폴로지를 제공합니다. 모두 분산되어 있고 확장성이 뛰어나며 신뢰할 수 있습니다. 데이터 크기, 수행해야 하는 작업의 특성 및 수행해야 하는 트랜잭션 수에 따라 언급된 토폴로지 중 하나를 선택할 수 있습니다. 자세히 알아보기 NCache 토폴로지의 60일 무료 평가판을 다운로드하는 것을 주저하지 마십시오. NCache.