지역 복제용 브리지
대규모 애플리케이션의 경우 분산 캐시를 사용하여 애플리케이션의 성능, 안정성 및 런타임 확장성을 향상시킵니다. 따라서 분산 캐시는 자연 재해부터 내부 하드웨어 재해 또는 소프트웨어 오류에 이르는 재해 복구 계획에서 매우 중요한 부분이 될 수 있습니다.
가장 많이 사용되는 재해 복구 계획은 다른 백업 사이트에 실시간 데이터를 복제하는 것입니다. 따라서 필요한 경우 오류 없이 실제 사용자를 백업 사이트로 리디렉션할 수 있습니다. 그러나 이를 위해서는 활성 캐시와 백업 캐시가 모두 항상 동기화되어 있는지 확인해야 합니다. 동기화되지 않으면 애플리케이션의 캐시 클라이언트에 영향을 미칠 수 있습니다.
NCache 브리지 기능을 통해 WAN 복제를 제공합니다. 여러 클러스터 캐시 사이에 브리지가 생성되고 해당 브리지를 통해 소스에서 다른 사이트로 데이터가 복제됩니다.
재해 복구 계획이 있을 뿐만 아니라 널리 분산된 고객을 위해 지리적으로 분리된 지역에 애플리케이션을 배포하려는 경우에도 데이터 복제가 문제를 해결합니다. 여기에는 관련 지역의 사용자를 처리하고 다른 지역 사이트의 백업으로 사용할 수도 있는 두 개 이상의 활성 사이트가 있을 수 있습니다.
원격 데이터 복제는 효과적이고 효율적인 데이터 보호와 주요 중단으로부터의 신속한 복구를 보장하기 위한 모든 계획의 중요한 구성 요소입니다. 데이터의 동기식 복제는 클러스터 내부적으로는 좋지만, 캐시 클러스터가 지리적으로 분리되어 있는 경우 성능에 미치는 영향이 중요한 고려 사항이 됩니다. 브리지는 재해 복구를 위해 WAN을 통해 온사이트 캐시에서 다른 온사이트/오프사이트 캐시로 데이터를 복제하는 시나리오를 위해 설계되었습니다. 비동기식 복제로 인해 활성 캐시에 연결된 모든 클라이언트는 전체 백업이 다른 캐시에 원활하게 수행되는 동안 활성 캐시에서 작업이 수행되고 있다는 인상을 받습니다.
소스 캐시에서 작업이 수행되면 비동기적으로 브리지로 전달됩니다. 그런 다음 이 작업은 브리지에서 유지 관리하는 대기열에 추가됩니다. 브리지가 사용 가능한 대상 캐시를 발견하고 작업을 수락할 준비가 되면 대기열의 작업이 대상 캐시로 전송됩니다. 브리지를 사용하면 다음이 보장됩니다.
- 성능 저하가 없습니다.
- 작업은 원래 캐시에서와 동일한 순서로 수행됩니다.
- 연결 실패 시 작업이 손실되지 않습니다.
플러그형 캐싱 아키텍처: 캐시는 서로를 인식하지 못합니다. 그들은 단지 브리지에 대해 알고 있으며 데이터를 브리지에 복제합니다. 이러한 느슨한 결합으로 인해 캐시 토폴로지에 관계없이 여러 캐시 간에 브리지를 구성할 수 있습니다. 브리지로 구성된 캐시를 자유롭게 제거할 수 있습니다.
데이터 무결성: 소스 캐시에서 수행된 작업은 소스 캐시에서 수행된 실제 순서를 유지하는 브리지에 의해 대기열에 추가됩니다. 브리지는 동일한 순서로 대상 캐시에 대한 작업을 수행합니다. 충돌은 대상 캐시에서 해결됩니다. 이러한 방식으로 캐시는 결국 일관성을 갖게 됩니다.
전용 브리지 서비스: 브리지는 또한 캐시 서비스와 같은 독립 실행형 전용 서비스이므로 네트워크 지연으로 인해 브리지 작업이 지연되더라도 캐시 작업에 영향을 미치지 않습니다.
브리지 구성: 클러스터 캐시가 있는 동일한 서버에 브리지를 구성하거나 별도의 서버 노드에 브리지를 생성할 수 있습니다. 그런 다음 클러스터 캐시를 브리지에 추가하면 데이터가 캐시 간에 복제됩니다.
재해 복구: 재해 복구를 위해 활성 데이터 센터와 수동 데이터 센터 사이에 브리지를 구성할 수 있습니다.
지리적으로 분산된 고객 처리: 관련 지역의 사용자를 처리하고 다른 지역 사이트의 백업으로 사용할 수도 있는 두 개 이상의 활성 사이트를 가질 수 있습니다.
비동기 복제: WAN 복제의 경우 브리지 작업이 지연될 경우 캐시 작업이 손상되지 않도록 비동기식 복제가 사용됩니다.
대기열 백업: 브리지는 한 노드가 활성이고 다른 노드가 수동인 다중 노드 클러스터형 큐로, 브리지에서 데이터 손실을 방지하기 위해 활성 큐를 백업합니다.
연결 재시도: 또한 브리지는 연결 실패가 발생할 때 재시도하여 모든 작업을 복제하려고 시도합니다.
브리지 복제기 대기열: 브리지 복제기 큐 크기는 캐시 크기에 포함됩니다. 캐시가 브리지에 연결할 수 없으면 캐시가 가득 찰 때까지 작업이 캐시에 대기하게 됩니다. 캐시가 가득 차면 브릿지 대기열을 늘릴 수 있는 공간을 확보하기 위해 캐시 항목에서 제거가 발생합니다.
캐시 : 브리지의 일부가 될 클러스터 캐시에 대해 모든 토폴로지를 사용할 수 있습니다. 또한 한 브리지의 각 사이트에서 서로 다른 토폴로지 캐시를 사용할 수도 있습니다. 그러나 양쪽에서 동일한 토폴로지를 사용하는 것이 좋습니다.
지역 복제를 위한 캐시 동기화 모드
XNUMXD덴탈의 NCache 브리지에는 여러 캐시가 연결되어 있을 수 있으며 재해 복구를 위해 캐시에 다음 동기화 모드를 제공할 수 있습니다.
활성 캐시:
활성 캐시는 모든 클라이언트가 연결하고 브리지를 통해 연결된 다른 캐시에 복제되는 읽기 및 쓰기 작업을 연결하고 수행하는 토폴로지일 수 있습니다.패시브 캐시:
수동 캐시는 모든 토폴로지가 될 수 있지만 활성 캐시와 동일한 토폴로지를 사용하는 것이 좋습니다. 그러나 활성 캐시에서 수행되는 모든 작업은 수동 캐시에 복제됩니다. 클라이언트는 수동 캐시에 연결하여 읽기 및 쓰기 작업을 모두 수행할 수 있지만 해당 작업은 활성 캐시에 복제되지 않습니다. 필요한 경우 수동 캐시에서 수정을 수행할 수 있습니다.어떤 이유로든 활성 사이트가 다운되면 해당 사이트를 활성 사이트로 만들어 요청을 수동 사이트로 리디렉션할 수 있습니다. 귀하의 패시브 사이트는 활성 사이트로 작동하고 모든 요청을 오류 없이 처리합니다.
이전 활성 사이트가 준비되고 다시 시작되면 이전과 같이 구성을 재구성할 수 있습니다. 두 사이트를 모두 활성화하면 이전 수동 사이트의 모든 데이터가 이전 활성 사이트로 전송됩니다. 모든 데이터가 전송되면 패시브 사이트를 구성하고 모든 요청을 액티브 사이트로 리디렉션할 수 있습니다.
두 활성 캐시 간 통신의 경우 동일한 캐시 데이터가 두 캐시에서 거의 동시에 업데이트되어 충돌이 발생할 수 있습니다. 이 갈등을 해결하려면, NCache 구성 가능한 기능을 제공합니다 갈등 해결사 브리지 시간에 대한 작업 충돌을 해결합니다. 기본적으로 최신 작업이 "승리"되며 충돌이 발생할 경우 캐시에 적용됩니다.
사이트가 다운되면 모든 요청을 다른 활성 사이트로 리디렉션할 수 있습니다. 다운된 사이트가 다시 가동되면 이미 실행 중인 사이트에서 이 사이트로 데이터가 전송되고 해당 지역의 요청을 이 사이트로 리디렉션할 수 있습니다.
주의 사항
문제를 방지하려면 캐시가 토폴로지 외에 동일한 구성을 갖는 것이 좋습니다. 예를 들어 데이터 원본이 한 캐시에 구성된 경우 다른 캐시에도 구성해야 합니다. 한 사이트 캐시의 동일한 작업 사양이 다른 사이트에도 복제되기 때문입니다.
국가 이전
소스 캐시의 상태를 대상 캐시와 동기화하려는 경우 두 캐시 간에 상태 전송을 수동으로 트리거할 수 있습니다. 이것은 다리를 통해 발생합니다.
상태 전송 작업은 캐시 끝에서 대기하고 브리지에 연결되는 즉시 대상 캐시로 중계되는 브리지로 작업을 보내기 시작합니다. 캐시 간의 상태 전송이 시작되면 시스템의 안정성을 보장하기 위해 다른 상태 전송을 시작할 수 없습니다.
사례 1: 상태 전송의 캐시가 발생합니다.
캐시 A와 캐시 B에 상태 전송이 진행 중인 경우 캐시 A는 다운되고 다시 돌아오지 않습니다. 브리지가 상태 전송 중이므로 다른 수신 상태 전송 요청이 거부될 수 있습니다. 이를 해결하기 위해 브리지는 지정된 간격 후에 캐시 A로부터 작업 수신을 중지했는지 지능적으로 결정합니다. 따라서 해당 상태 전송은 손상된 것으로 간주되며 브리지는 새로운 상태 전송 요청을 허용합니다.
사례 2: 캐시 및 브리지에 네트워크 결함이 있지만 연결을 끊지 않음:
캐시와 브리지 연결에 네트워크 결함이 발생하여 부분적으로 연결되는 경우 작업 및 상태 전송 큐는 그대로 유지됩니다. 따라서 손실된 작업이 없으므로 상태 전송을 재개할 수 있습니다.
브리지 대기열
캐시 A는 활성 캐시인 반면 캐시 B는 수동 캐시입니다. 캐시 A는 브리지를 통해 캐시 B에 작업을 전송하지만 캐시 B는 한동안 다운됩니다. 이는 브리지 대기열이 캐시 A에서 전송되는 작업으로 채워지고 있지만 캐시 B가 중단되어도 대기열에서 제거되지 않음을 의미합니다. 브릿지 대기열이 완전히 채워지고 더 이상 작업을 저장할 공간이 없게 되는 지점이 올 것입니다. 따라서 캐시 A는 공간이 확보될 때까지 작업을 계속 유지하도록 지시합니다. 그런 다음 작업은 캐시 끝에서만 대기열에 추가됩니다. 캐시 B가 다시 작동하고 브리지 복제기 큐가 해당 캐시로 작업을 보내기 시작하여 큐에서 제거된다고 가정해 보겠습니다. 구성 가능한 공간(기본적으로 20MB)이 해제되면 브리지는 이제 대기열에 있는 작업을 보낼 수 있음을 캐시 A에 알립니다.
그러나 캐시 대기열이 가득 차고 제거가 활성화된 경우 캐시는 캐시된 항목을 제거하지만 대기 중인 작업은 제거하지 않습니다. 이것은 작업 손실을 방지합니다.