다중 데이터 센터 배포를 위한 WAN 복제 NCache

녹화된 웨비나
론 후세인(Ron Hussain)과 잭 칸(Zack Khan)

이 웨비나는 당신이 알아야 할 모든 것을 보여줄 것입니다. NCache 데이터 센터 간 캐시의 WAN 복제를 위한 브리지 기능.

이 웨비나에서 다루는 내용은 다음과 같습니다.

  • NCache의 WAN 복제를 위한 브리지 기능
  • NCache 브리지 토폴로지(능동-능동, 능동-수동, 3개 이상의 능동-능동 데이터 센터)
  • 고급 브리지 기능:
    • 고가용성 및 장애 조치 연결
    • 동적 충돌 해결사
    • 병렬 및 대량 비동기 복제
    • 대기열 최적화
  • 대기열 다중 사이트 세션 기능
  • 브리지 성능/디버깅 모니터링 옵션

오늘의 웨비나 주제는 다음을 사용하는 다중 데이터 센터 배포를 위한 WAN 복제입니다. NCache. 오늘 웨비나에서 다룰 내용은 NCache의 브릿지 기능입니다. 또한 다음을 포함합니다. NCache의 브리지 토폴로지, 고급 브리지 기능 NCache 다중 사이트 세션을 대기열에 넣고 브리지 성능 및 디버깅 모니터링 옵션을 제공합니다.

오늘 우리는 매우 중요한 주제를 정리했습니다. 특히, 여러 데이터 센터에 배포된 애플리케이션의 경우. 여러 가지 이유가 있을 수 있습니다. 예를 들어 DR 사이트가 필요하거나 활성-활성 다중 데이터 센터 배포가 필요하거나 필요한 데이터의 동쪽에서 서쪽으로 마이그레이션이 필요할 수 있습니다.

그래서, 우리는 WAN 복제 기능 브리지 토폴로지의 도움으로 사용할 수 있으며 모든 세부 사항을 다룰 것입니다. WAN 복제가 켜져 있는 동안 개체 캐싱을 사용하는 방법. 활성-수동, 활성-활성 및 다중 활성-활성 데이터 센터 배포에 사용합니다. 그래서 우리는 덮을 것이 많습니다. 모든 사람이 내 화면을 보고 잘 들을 수 있다고 믿습니다. GoTo Meeting 질문 및 답변 탭을 통해 빠른 확인을 받을 수 있다면 정말 좋을 텐데 빠르게 프레젠테이션을 시작하겠습니다. 따라서 모든 사람이 우리 화면을 볼 수 있고 문제 없이 여기 있는지 확인하십시오.

장점 소개 NCache

따라서 다음과 같은 분산 캐싱 시스템이 필요한 이유에 대한 매우 기본적인 정보부터 시작하겠습니다. NCache? 따라서 일반적으로 문제를 허용하는 것은 애플리케이션 성능 및 확장성 병목 현상으로 인해 애플리케이션이 더 빠르고 안정적인 방식으로 수행되도록 제한합니다.

확장성 문제

애플리케이션 계층은 확장성이 뛰어납니다. 웹 애플리케이션 또는 백엔드 애플리케이션을 가질 수 있습니다. 애플리케이션을 여러 서버에 배포할 수 있는 웹 팜 또는 애플리케이션 서버 팜을 언제든지 생성할 수 있습니다. 부하를 분산할 수 있습니다. 여러 서버는 이러한 모든 응용 프로그램 요청을 서로 조합하여 병렬로 처리하는 데 도움이 되지만 이러한 모든 응용 프로그램은 백엔드 데이터베이스와 통신해야 하며 일반적으로 이것이 경합의 원인입니다. 데이터베이스 서버와 매우 값비싼 리소스를 확장할 수 없기 때문에 데이터베이스는 애플리케이션의 성능 및 확장성 병목 현상이 됩니다. 따라서 항상 확장할 수 있지만 데이터베이스 서버를 확장할 수 있는 범위에는 제한이 있습니까? NoSQL 응용 프로그램을 다시 설계해야 하기 때문에 일반적으로 이에 대한 답이 아닙니다. 관계형 데이터베이스 사용을 중단하고 사용을 시작해야 합니다. NoSQL 그것을 사용하기 위한 데이터 소스와 우리는 또한 NosDB 이는 인 NoSQL database 하지만 분산 캐싱 시스템을 통해 이를 처리하는 다른 방법을 계획하고 있습니다.

따라서 우선 이 확장성 문제에 대한 솔루션은 메모리 내 분산 캐싱 시스템을 사용하기 시작하는 매우 간단합니다. 디스크에 비해 인메모리이기 때문에 매우 빠릅니다. 따라서 플러그인을 설치하는 즉시 애플리케이션의 성능이 향상될 것입니다. NCache.

둘째, 서버 팀입니다. 캐시 클러스터입니다. 데이터베이스와 같은 단일 소스가 아닙니다. 캐시 클러스터에 여러 서버가 가입되어 있습니다. 따라서 추가하도록 선택할 수 있는 많은 서버에서 풀링되는 논리적 스토리지입니다. 따라서 관계형 데이터베이스에 비해 확장성이 뛰어납니다. 2개의 서버로 시작할 수 있으며 런타임에 더 많은 서버를 추가할 수 있습니다. 따라서 더 많은 서버를 추가할 수 있고 결과적으로 요청 처리 용량을 계속해서 늘릴 수 있는 선형 확장성을 제공합니다. NCache. 좋은 점 NCache 관계형 데이터베이스인 백엔드 데이터베이스와 함께 사용한다는 것입니다. 백엔드 데이터베이스에서 가져온 데이터 사용을 보완하는 많은 기능이 있습니다. 그래서, 당신은 항상 사용할 수 있습니다 NCache 관계형 데이터베이스와 함께. 관계형 데이터 원본을 대체하지 않습니다. 일부 확장성 수치.

확장성 숫자

NCache 더 많은 서버를 추가함에 따라 매우 확장 가능합니다. NCache 점점 더 많은 요청을 처리할 수 있습니다. NCache 무리. 최근에 QA 환경에서 이러한 테스트를 수행했습니다. 우리는 계속해서 부하를 늘리고 계속해서 더 많은 서버와 최대 5개의 서버를 추가하는 AWS 랩을 사용합니다. NCache 분산 캐시에 대한 매우 일반적인 구성입니다. 우리는 초당 2만 요청을 달성할 수 있었고 이는 서버를 추가할 때마다 캐시 클러스터에 더 많은 용량을 추가하는 증가 추세였습니다. 평균 1킬로바이트 개체 크기를 사용하면 이러한 성능을 기대할 수 있습니다. NCache 더 나은 하드웨어를 사용하면 이러한 숫자를 늘릴 수 있고 더 나은 성능 처리량을 얻을 수 있습니다. NCache. 참고로 이 벤치마크에는 백서비디오 우리 웹 사이트에도 게시 된 데모. 따라서, 당신은 또한 그것을 볼 수 있습니다.

일부 배포 세부 정보. 일반적인 배포 방법은 NCache 처럼 보일 것입니다.

캐시 배포

다음은 단일 사이트 배포입니다. NCache. 보시다시피, 우리는 단일 사이트를 보유하고 있으며 귀하의 경우 WAN 복제 측면에 대해 이야기하고 있습니다. 분명히 우리는 별도의 데이터 센터가 있는 둘 이상의 배포가 있을 것이며 여기에도 NCache 및 배포된 애플리케이션.

따라서 다이어그램에 표시된 것처럼 분산 캐시 배포를 사용하여 일반적인 배포가 어떻게 보이는지 이야기해 보겠습니다. 그래서 우리는 다시 서버 팀을 갖게 되었습니다. 다이어그램에 4~5개의 서버가 표시되어 있습니다. 캐시 클러스터가 호스팅되는 곳이며 보시다시피 애플리케이션과 데이터베이스 사이에 있습니다. 여기서 아이디어는 개체 캐싱의 경우 이러한 소스를 서로 조합하여 사용하지만 세션 캐싱의 경우 캐시가 주요 데이터 소스가 된다는 것입니다. 따라서 모든 세션을 다음 위치에 저장할 수 있습니다. NCache 그리고 당신은 다른 곳으로 갈 필요가 없습니다. 매우 유연한 배포 모델을 사용할 수 있습니다. NCache 온프레미스에서 호스팅할 수 있습니다. 물리적 또는 가상 상자일 수 있습니다. 클라우드에서도 가능합니다. 퍼블릭 또는 프라이빗 클라우드일 수 있습니다. Azure AWS에도 있을 수 있습니다. 이 두 클라우드 공급업체에서 사용할 수 있는 마켓플레이스 이미지가 있기 때문입니다. 그러나 일반적으로 Windows 또는 Linux가 있고 전제 조건이 있는 모든 서버는 NCache .NET 또는 .NET Core 뼈대. 따라서 이것들은 전제 조건입니다. 그것은 단지 .NET이고 .NET Core 어느 NCache 전제 조건으로 필요합니다. 그것이 가능하다면, NCache Windows 및 Linux 환경에 배포하기에 매우 유연하며 모든 환경에서도 가능하다고 말했듯이 Docker를 사용할 수 있고 호스트할 수도 있습니다. NCache Kubernetes 클러스터에서 다른 많은 플랫폼을 엽니다. OpenShift에서 사용할 수 있습니다. Azure Kubernetes 서비스에서 사용할 수 있습니다. Elastic Kubernetes 서비스도 알고 있습니다. 따라서 플랫폼이 모두 갖추어져 있고 NCache 이러한 모든 플랫폼에 배포할 수 있습니다.

두 가지 배포 옵션이 있습니다. 하나는 다이어그램에 표시된 대로 전용 캐시 계층을 사용하고 두 번째 계층은 전용 캐시 계층으로 이동하며 전용에서는 애플리케이션이 별도의 상자에서 실행되고 NCache 별도의 전용 계층에서 실행됩니다. 우리는 또한 공유 계층을 가지고 있으며 접근 방식도 사용할 수 있습니다. NCache 신청서 상자 옆에. 따라서 애플리케이션이 호스팅되는 모든 곳에서 NCache 그 위에 호스팅 될 수 있습니다. 그래서 저는 이것이 매우 간단하다고 믿습니다. 다중 데이터 센터 배포에서는 둘 이상의 데이터 센터가 있고 동일한 배포가 있습니다. NCache 다음 슬라이드에서 다룰 다른 데이터 센터에도 있습니다. 질문이 있는 경우 질문 및 답변 탭에 언제든지 해당 질문을 게시할 수 있습니다. Zack과 저는 계속 게시될 모든 질문에 주의를 기울이면 모든 질문에 기꺼이 답변해 드리겠습니다. 질문에 대해 말하자면, 당신이 방금 언급한 이후로 제가 꺼내고 싶은 것이 있습니다. 지금 Kubernetes를 언급하는 것은 매우 간단하다는 것입니다. 따라서 문제는 브리지에 대해 이야기할 것이고 일반적으로 이 모든 것에 대한 운영 체제 요구 사항이 있습니까? 이것을 Linux에서 실행할 수 있습니까? 전적으로. NCache 매우 유연합니다. 보시다시피 배포 다이어그램에서도 볼 수 있습니다. 너는 볼 수있어 NCache Windows 및 Linux 서버에서 지원됩니다. 따라서 Linux 서버에서는 .NET Core 방출 NCache 이를 위한 서버와 클라이언트가 있습니다. 따라서 달리고 싶다면 NCache Linux의 .NET 서버 .NET Core 그것이 가능하며 귀하의 애플리케이션은 항상 당사의 .NET Core Linux뿐만 아니라 Windows에도 배포하고 배포할 수 있습니다. 대박. 나머지는 실제로 진행하도록 하고 나중에 질문을 제기하겠습니다.

다중 데이터 센터 배포 NCache

따라서 다음은 다중 데이터 센터 배포에 대해 설명하겠습니다. NCache. 이제 애플리케이션이 여러 데이터 센터에 배포된 경우 또는 하나의 활성 사이트가 있고 DR 시나리오를 위한 수동 사이트가 있을 수 있습니다. 예를 들어, 활성 사이트가 다운되고 애플리케이션은 항상 가동되어 실행되어야 합니다. 미션 크리티컬 애플리케이션이라면 비즈니스에 중요합니다. 사이트 수준에서 다운타임이 발생하면 비즈니스에 영향을 미칠 수 있습니다.

NCache 클러스터는 이미 고가용성 및 데이터 안정성 기능을 갖춘 방식으로 설계되었습니다. 따라서 단일 사이트 수준에서 하나 또는 두 개의 서버가 다운되는 경우(예: 서버를 분실한 경우) NCache 문제 없이 해당 중단을 처리할 수 있습니다. 하지만 오늘은 사이트 수준 중단이 발생하면 어떻게 됩니까? 또는 유지 관리를 위해 사이트 전체를 다운시켜야 합니다. 그래서 모든 서버가 다운되었습니다. NCache 은(는) 해당 시나리오를 처리할 수 있는 장비도 갖추고 있으며 오늘 다룰 계획입니다. 그렇다면 WAN 복제가 필요한 이유에 대해 이야기해 보겠습니다.

완-복제

일반적으로 애플리케이션에 고가용성이 필요한 경우 단일 사이트가 단일 실패 지점이 될 수 있습니다. 사이트가 다운되면 모든 데이터가 손실되고 잠재적으로 애플리케이션 사용자에게 다운타임이 발생하여 비즈니스에 영향을 미칠 수 있다는 사실을 이미 확인했습니다. 다중 지역 앱은 WAN을 통해 서로 통신해야 하는 경우 속도가 느립니다. 예를 들어, 하나의 데이터 센터가 배포되어 있고 애플리케이션이 미국 지역에 있는 하나의 데이터 센터에 배포된 다음 유럽 또는 기타 아시아 지역(예: 아시아 지역)에 배포된 다른 애플리케이션이 있습니다. 따라서 이 경우 응용 프로그램 데이터베이스가 데이터 센터 중 하나에 있는 경우 원격 사이트는 네트워크를 통해 이동해야 합니다. 따라서 네트워크 속도는 다른 사이트의 대기 시간에 영향을 미칩니다. 해당 시나리오를 처리하기 위해 일반적으로 WAN을 통해 데이터 원본을 복제하며 이것이 우리가 권장하는 것입니다. NCache 뿐만 아니라, 그 NCache 복제해야 합니다. 그러나 공통 데이터 소스가 있다는 점을 고려할 때 원격 사이트는 WAN을 통해 이동해야 하며 데이터가 해당 사이트의 로컬 데이터가 아니기 때문에 잠재적으로 성능에 영향을 줄 수 있으며 데이터 센터 간의 거리도 처리량에 영향을 미칠 수 있습니다. . 사이트 간에 전송할 수 있는 데이터가 너무 많습니다. 따라서 요청 처리 용량을 제한할 수 있습니다.

따라서 다중 지역 앱이 있고 두 앱이 모두 활성 상태인 경우 이 두 가지 문제가 발생합니다. 요청 수준에서 데이터 복제도 비용이 많이 듭니다. 예를 들어 전체 데이터베이스를 복제하지 않고 하나의 데이터 센터에 데이터 원본이 있습니다. 이제 원격 위치, 원격 지리적 위치에서 데이터베이스로 이동하는 요청입니다. 모든 데이터에 대한 요청 수준 복제, 즉 우리 데이터 소스에 오는 요청 단위는 매우 비용이 많이 들고 많은 대역폭과 리소스를 소모하게 됩니다. 따라서 로컬에서 사용할 수 있는 데이터가 있고 캐시의 WAN 복제가 필수로 필요한 활성 메커니즘이 필요합니다. 따라서 한 데이터 센터의 데이터가 네트워크를 통해 다른 사이트로 복제됩니다.

일부 사용 사례. 정확히 어디에서 WAN 복제를 사용할 수 있습니까?

사용 사례

우리가 접하는 가장 일반적인 것은 재해 복구 사이트입니다. 주요 비즈니스 사용 사례를 제공하는 활성 사이트가 있습니다. 트래픽이 생성되고 처리되는 곳입니다. 사이트 전체가 다운된다면? 대체 옵션이 필요합니다. 맞습니다. 따라서 해당 DR 사이트에는 이미 사용 가능한 데이터가 있어야 합니다. 그렇지 않으면 이미 다운된 사이트로 돌아가야 하는 경우 데이터 요구 사항이 처리되지 않습니다. 따라서 DR 사이트에서 사용할 수 있는 데이터가 필요하므로 이미 가동되어 실행 중입니다. 트래픽을 해당 DR 사이트로 이동하기만 하면 됩니다. 다른 작업은 하지 말고 트래픽을 재해 복구 사이트로 라우팅하기만 하면 활성 사이트에서와 동일한 성능 값, 동일한 성능 매트릭스로 작동해야 합니다. 따라서 장애 발생시 100% 데이터 복구가 가능합니다. NCache WAN 복제.

다중 지역 응용 프로그램은 로드뿐만 아니라 데이터를 공유할 수 있습니다. 이제 Active-Active 사이트를 사용하여 미국에 한 지역이 있고 유럽이나 아시아와 같이 세계의 다른 지역에 지역이 있는 경우. 원하는 경우 위치 선호도에 따라 데이터 센터를 처리해야 하는 요청을 달성할 수 있습니다. 이제 아시아의 사용자는 해당 지역 내에서 해당 지역과 가장 가까운 사이트에 연결할 수 있으며 그곳에서도 캐시를 사용할 수 있으며 해당 캐시는 미국 지역에 있는 다른 캐시와 동기화됩니다. 따라서 반송되는 모든 사용자. 예를 들어 오버플로를 관리하거나 용량을 분산해야 합니다. 일부 사용자는 이제 아시아 지역이 완전히 막혀서 미국 지역으로 바운스해야 하므로 항상 그렇게 할 수 있습니다. 따라서 사이트 수준에서 해당 시점과 해당 시점에서 사이트가 처리하는 용량을 기반으로 요청의 로드 밸런싱을 수행할 수 있습니다. 캐시 데이터는 이미 여러 데이터 센터에 복제되어 있으므로 이를 달성하는 방법에 대해 설명하겠습니다. 따라서 다중 지역 애플리케이션은 효율적으로 애플리케이션 데이터를 공유하고 요청 로드를 공유할 수 있으며 동일한 로드 공유도 가질 수 있습니다. . 중복 데이터 마이그레이션은 수행되지 않습니다. 한 데이터 센터에서 다른 데이터 센터로 수신 거부되는 요청을 기반으로 하며 이미 연결된 캐시에서 해당 데이터를 항상 가져올 수 있습니다.

동쪽에서 서쪽으로의 애플리케이션 데이터 마이그레이션은 또 다른 사용 사례입니다. 예를 들어 아시아 시장은 서양 시장보다 일찍 시작합니다. 따라서 데이터 추세는 일반적으로 동쪽에서 서쪽으로 따릅니다. 따라서 동부 사이트는 캐시를 설정할 수 있으며 시간대에 따라 데이터 센터 간에 데이터가 서부 지역으로 이동하고 서부 지역에 도달할 수 있습니다. 따라서 데이터 센터 간에 복제된 데이터가 있는 경우 캐시 데이터인 서부 지역은 동부 지역에서 제공되는 모든 데이터를 활용할 수 있습니다. 따라서 동쪽에서 서쪽으로의 데이터 마이그레이션을 사용할 수 있으며 유지 관리 사용 사례는 세 번째 사례입니다.

넷째, 다운타임 없이 업그레이드를 배포하고 유지 관리할 수 있습니다. 이는 매우 시급한 사용 사례가 되고 있습니다. NCache 또한. 즉, 업그레이드할 계획이라면 브리지 토폴로지를 사용하여 이전 버전과 최신 버전 간에 업그레이드할 수 있습니다. 이전 데이터의 경우 라이브 업그레이드 기능을 사용하여 버전 데이터를 최신 버전으로 전송할 수 있습니다. 사이트 간에 있을 수 있습니다. 예를 들어 한 사이트를 사용하고 수동 사이트에 능동적으로 데이터를 복제할 수 있으며 활성 사이트에서 업그레이드, 새 코드 배포, 성능 유지, 유지 관리를 수행할 수 있으며 모든 데이터를 사용할 수 있으며 트래픽은 해당 문제에 대해 수동 사이트로 라우팅될 수 있습니다. 따라서 두 사이트 모두 가동 중지 시간과 애플리케이션 데이터 손실 없이 항상 가동 및 실행될 수 있습니다.

NCache WAN 복제용 브리지

그럼 대처법에 대해 알아볼까요? 기능의 이름은 NCache 다리. 동일한 제품의 일부입니다. 별도의 설치가 필요하지 않습니다. NCache Enterprise 갖추고있다 NCache 브리지 토폴로지 그리고 그것에 대해 이야기합시다.

그래서 우리의 캐시는 NCache 브리지 기능을 사용하면 데이터 센터 간에 캐시를 복제할 수 있습니다.

ncache-다리

비동기 복제 모델을 기반으로 합니다. 애플리케이션 측면에서 성능 저하를 일으키지 않습니다. 캐시 응용 프로그램은 한 데이터 센터의 캐시에 활성 상태로 연결되어 있습니다. 예를 들어 여기에 클라이언트가 있는 경우 활성-수동 대기열이기도 하고 다른 사이트에 비동기적으로 데이터를 전송하는 브리지를 생성할 수 있습니다.

능동 수동

따라서 비동기 복제를 기반으로 하므로 데이터 복제 시 성능 저하가 없습니다. 그것은 매우 신뢰할 수 있습니다. 내결함성입니다. 연결 실패를 자동으로 감지합니다. 자동으로 다시 연결됩니다. 자동 재시도 옵션을 사용할 수 있으므로 브리지도 활성-수동 대기열에 백업됩니다.

따라서 Active Bridge 서버가 있고 Passive Bridge 서버도 있습니다. Active Bridge 서버가 다운되면 Passive는 지연 없이 모든 복제 작업을 선택하고 시작합니다. 설정이 매우 쉽고 코드 변경이 필요하지 않으며 추가 설치가 필요하지 않습니다. 동일한 제품인 Enterprise의 일부이며 동일한 제품에 통합된 자체 모니터링 및 관리 지원을 제공합니다. NCache Enterprise 이 제품은 다음에 다루게 될 여러 토폴로지를 지원합니다.

따라서 세 가지 주요 토폴로지가 있습니다.

토폴로지

액티브-패시브가 있습니다. 활성 사이트가 있는 경우 수동 사이트가 있습니다. 수동 사이트도 클라이언트 요청을 받지만 데이터 흐름은 활성에서 수동으로 진행됩니다. 따라서 DR 사이트 요구 사항이 있는 경우 한 사이트를 활성으로 사용하고 브리지에 연결한 다음 다른 사이트를 수동으로 사용할 수 있습니다. 능동 사이트는 수동 사이트로 데이터를 전송합니다. 따라서 단방향 전송입니다. 패시브라는 용어는 본질적으로 패시브 사이트가 데이터를 액티브로 다시 전송하지 않는다는 것을 의미합니다. 여전히 실행 중이며 클라이언트 응용 프로그램에서 이를 활용하고 있습니다. 따라서 그것은 어떤 방법으로든 중단된 것이 아닙니다. 능동 수동으로 동쪽에서 서쪽으로 마이그레이션할 수 있습니다. 활성-수동의 도움으로 유지 관리 및 업그레이드 사용 사례를 처리할 수 있습니다.

활성-활성 토폴로지는 두 개의 서로 다른 지리적 위치에 하나의 애플리케이션을 배포하고 사이트 1의 데이터를 사이트 2에서 사용 가능하게 만들고 사이트 2의 데이터를 사이트 1에서 사용할 수 있도록 하려는 경우입니다. 지리적 사이트의 경우 두 데이터 센터에서 활성 사용자가 있는 활성-활성을 타겟팅할 수 있습니다. 클라이언트가 두 데이터 센터에 모두 연결되어 있고 두 개의 서로 다른 사이트 간에 양방향 복제가 진행 중이며 3, 2+ 또는 3+ 활성-활성 토폴로지가 있습니다. 여기서 하나의 기본 입찰 서버가 있지만 모든 사이트에 데이터를 전송합니다. 사이트와 해당 사이트는 또한 다른 모든 사이트로 데이터를 다시 전송하고 있습니다. 따라서 모든 데이터 센터에 하나의 업데이트를 적용해야 하며 그 반대의 경우도 마찬가지입니다.

자, 여기 우리의 능동-수동이 있습니다.

능동 수동

여기에는 능동-수동이기도 한 대기열인 브리지가 있습니다. 사이트 1에는 클라이언트 요청을 처리하는 캐시 클러스터가 있습니다. 여기에 3개의 서버가 있습니다. 다리와 연결되어 있습니다. Bridge도 사이트 중 하나에 있습니다. 또는 경우에 따라 사이트 1에 활성 브리지가 있고 사이트 2에 수동 브리지 서버가 있을 수 있습니다. 또한 가능하지만 일반적으로 배포 아키텍처의 사이트 중 하나에서 브리지를 이동하는 것이 좋습니다. 두 번째 사이트는 수동 사이트이고 다시 수동 사이트는 여전히 실행 중입니다. 수동 사이트가 활성 사이트에 데이터를 다시 복제하지 않는다는 것입니다. 이는 데이터의 단방향 전송이며 이것이 수동 사이트라고 말할 때 의미하는 전부입니다. 기본적으로 여기에서 클라이언트 응용 프로그램을 실행할 수 있으며 이 상태에서도 완전히 작동합니다. 따라서 데이터 복제, 능동 수동이므로 이 서버가 다운되면 수동이 활성화되고 자동입니다. 코드 변경이 필요하지 않습니다. 실습 부분으로 넘어가면 브리지를 구성하는 방법을 보여 드리겠습니다. 아주 간단합니다.

질문이 들어왔는데 이 능동-수동과 관련이 있습니다. 주로 능동 사이트와 수동 사이트가 있는 경우 수동 사이트를 어떻게 활성화합니까? 수동 프로세스입니까? 사이트가 중지 되었습니까? 어떻게 합니까? 자, 그렇다면 이 질문을 올바르게 이해했다면 우리가 그것을 활성화하는 방법의 측면에서 수동적 사이트는 무엇입니까? 이미 활성화되어 있습니다. 실행 중이며 이 사이트를 중단하거나 트래픽을 여기로 이동하려는 경우 이 사이트로 이동해야 하는 것은 애플리케이션 트래픽 로드입니다. 따라서 여기에 응용 프로그램 서버가 있고 여기에 응용 프로그램 서버가 있습니다. 여러분이 가진 모든 데이터가 여기로 전송될 것이며 이 사이트 사용자는 캐시 자체에서 데이터를 사용할 수 있도록 할 수 있습니다. 이제 트래픽을 항상 수동 사이트로 라우팅할 수 있으며 모든 데이터를 사용할 수 있습니다. 따라서 활성화하기 위해 필요한 단계가 없습니다. 그러나 이 사이트가 활성 사이트로 데이터 전송을 다시 시작하도록 하려면 GUI 도구를 사용하여 활성 사이트로 만들 수 있습니다. 따라서 복제 측면에서 데이터를 활성 상태로 다시 복제하려는 경우 항상 활성 상태로 만들 수 있으며 이것이 런타임 프로세스입니다. 따라서 GUI 도구에서 한 번의 클릭으로 한 줄의 작업을 수행하거나 PowerShell 도구를 사용하여 이를 수행할 수 있습니다. 그러나 귀하의 질문이 수동 노드를 활성화하는 것과 관련이 있는 경우. 클라이언트 응용 프로그램을 연결하고 데이터를 사용할 수 있도록 하기 위한 수동 단계가 있는 경우 이미 실행 중인 것입니다. 이 캐시 클러스터로 트래픽 라우팅을 시작하면 애플리케이션에서 이를 사용하기 시작합니다. 따라서 로드 밸런서 내에서. 이 사이트를 끄고 모든 트래픽을 사용 가능한 사이트로 라우팅합니다. 이 사이트는 이미 가동되어 복제되고 있는 모든 데이터를 얻거나 이용할 수 있습니다.

그래서, 능동-능동, 그것은 다시 같은 원리에 기초합니다. 사이트 중 하나에 다리가 있는 곳입니다.

활성-활성

캐시 1, 캐시 2가 있습니다. 두 사이트 모두 활성 상태이며 수동 토폴로지도 마우스 오른쪽 버튼을 클릭하여 활성 상태로 만들 수 있습니다. 이 경우 사이트 1 캐시의 데이터가 캐시에서 브리지로 비동기식으로 사이트 2로 전송됩니다. 브리지에서 캐시로 이동한 다음 마찬가지로 사이트 2도 사이트 1로 데이터를 다시 전송합니다.

3+액티브-액티브

3개 이상의 활성-활성 데이터 센터, 세 개 이상의 활성-활성이 있고 사이트 중 하나가 브리지 서버로 있는 경우. 브리지에 대한 대체 사이트를 가질 수도 있습니다. 우리는 백업 브리지 사이트도 가질 수 있습니다. 그러나 일반적으로 호스팅하는 사이트 중 하나가 브리지를 호스팅하고 해당 사이트가 다른 사이트로 데이터를 전송하고 유사하게 사이트 2는 브리지를 통해 사이트 1과 사이트 3으로 데이터를 전송합니다. 그리고 활성의 경우 -활성, 시간 기반 충돌 해결이 있으므로 마지막 업데이트가 승리합니다. 우리가 사용하는 모든 데이터 구조는 충돌이 없습니다. 이들은 충돌이 없는 데이터 유형입니다. 마지막 업데이트가 보드 전체의 캐시 클러스터에 적용될 것이기 때문에 경쟁 조건이나 데이터 일관성 문제가 없습니다. 그래서, NCache 동일한 키에 대한 두 개의 업데이트가 들어오는지 관리합니다. NCache 이를 평가하고 요구 사항인 경우 자체 충돌 해결을 구축할 수도 있습니다. 따라서 NCache 토폴로지.

브리지 구성을 간단히 살펴보겠습니다.

브리지 구성

우리는이 NCache 브리지 구성. NCache Bridge가 이름이고 Londo가 있습니다.nCache 환경 1, 따라서 동일한 이름을 가진 여러 캐시도 가질 수 있습니다. NewYorkCache와 이것들이 연결되어 있습니다.

실습 데모 NCache

이제 실제로 이 모든 것을 실제로 보여 드리겠습니다. 브리지를 구성하는 방법은 무엇입니까? 시작하는 방법과 개체 캐싱 및 세션 캐싱 응용 프로그램을 실제로 보여 드리겠습니다. Ron에 대해 알아보기 전에 이전 슬라이드에서 코드와 함께 질문을 받았는데, 그 질문은 브리지를 설정하기 위해 관련된 코드 변경 사항이 무엇입니까? 브리지를 통해 데이터를 복제하려면 코드를 작성해야 합니까? 전혀. 우리는 어떤 코드도 필요하지 않습니다. 그냥 구성입니다. 따라서 데이터 센터 1에 캐시 1이 있고 데이터 센터 2에 캐시 2가 있습니다. 브리지와 애플리케이션에서 이미 추가하고 있는 데이터를 구성하기만 하면 됩니다. NCache, 브리지를 통해 자동으로 복제됩니다. 따라서 모든 복제를 담당하는 것은 브리지의 책임입니다. 데이터 센터 간에 데이터를 복제하기 위해 명시적으로 코드를 작성할 필요가 없습니다. 데이터 유형, 충돌 해결은 기본적으로 구현되는 것이기도 합니다. 이는 시간 기반이지만 직접 구현하려는 경우 충돌 해결, 비즈니스 요구 사항이 개체를 평가하는 것이라면 여러 업데이트가 들어오는 경우 해당 인터페이스를 구현할 수 있습니다. 그러나 데이터 복제에 관한 한 브리지의 책임입니다. 이를 위해 코드를 작성할 필요가 없습니다.

캐시 생성

자, 빨리 시작하겠습니다. 캐시를 생성.

캐시 생성

예를 들어 site1cache의 이름을 지정하거나 바로 여기에서 SiteOneCache를 실제로 사용하도록 하겠습니다. 이것은 빠르게 시작하고 브리지를 생성할 수 있는 방법에 대한 아이디어를 제공하기 위한 것입니다. 모든 것을 기본값으로 유지하겠습니다. NCache 아키텍처는 이러한 모든 세부 사항을 다룹니다.

세부설명

그래서, 나는 그것들을 빠르게 살펴볼 것입니다. 복제본 캐시의 파티션, 모든 클러스터. 토폴로지 비동기 복제. 저는 101번을 선택하고 102번을 선택할 수 있는지 보겠습니다. 가능한 경우. 이것은 브리지를 호스팅하는 두 대의 서버입니다. 이 기본값을 모두 유지하겠습니다. 이것을 시작하고 자동 시작도 시작하십시오. 마치다. 따라서 내 캐시 101은 102과 XNUMX에 있으며 생성될 예정입니다. 어떻게 진행되는지 보겠습니다. 그런 다음 별도의 서버 세트에 있는 또 다른 캐시를 만든 다음 브리지를 호스팅하고 이 모든 것이 어떻게 작동하는지 보여드리겠습니다. 오른쪽. 따라서 SiteOneCache가 완전히 구성되었습니다. 보시다시피 시작되었습니다.

구성

이제 실제로 생성하여 SiteTwoCache라는 다른 캐시를 생성하겠습니다. 나는 그것을 사용할 수 있다고 생각합니다. 예전에 가지고 놀았거든요. 모든 것을 단순하게 유지하고 이번에는 별도의 서버 세트를 제공하여 이를 완전히 별도의 사이트로 나타내도록 하겠습니다. 모든 것을 기본값으로 유지하고 우리의 브리지를 사용하면 모든 사이트를 원격으로 관리할 수 있으며 관리 및 통화 도구를 통해 하나의 중앙 위치에서 브리지와 함께 모든 사이트를 실제로 관리할 수 있습니다. 따라서 네트워크에 액세스할 수 있는 경우. SiteOne과 SiteTwo 사이에 사용 가능한 WAN 링크가 있으면 기본적으로 모든 것을 관리할 수 있습니다. 그래서 여기에 SiteTwoCache가 있습니다. 바로 여기에 SiteOneCache가 있습니다. 101 102는 SiteOneCache를 나타냅니다. 107 및 108은 SiteTwoCache를 나타냅니다. 지금, 그리고 이것들도 시작되었습니다.

두 개의 캐시

통계를 클릭하면 아직 여기에 추가된 개체가 없음을 알 수 있습니다. SiteOneCache 또는 SiteTwoCache에는 데이터가 추가되지 않으므로 좋습니다. 나는 단순히 이것을 실행할 것입니다. 이 카운터를 검토할 수 있는 권한 문제가 있는 것 같습니다. 나는 할 수 있다고 생각합니다. 따라서 아직 사용할 수 있는 항목이 없음을 알 수 있습니다. 이제 브리지를 사용하여 이 두 캐시를 연결하겠습니다. 브리지는 다음에 구성할 것입니다.

다리 만들기

여기에서 다리를 만들 것입니다.

create_bridge

그래서, 나는 단지 말할 것입니다 NCache데모브리지.

데모 브리지

모든 이름과 브리지가 모든 서버에 있을 수 있습니다. 예를 들어, 107에서. 내 상자를 드리겠습니다. 101과 102에 브리지를 생성하겠습니다. 권한 문제가 있습니다. 107을 추가할 수 있는지 확인하겠습니다. 그렇지 않으면 브리지에 하나의 서버만 사용하겠습니다. 이를 위해서는 특정 포트를 열어야 합니다. 그래서 내 컴퓨터에 모든 포트가 열려 있다고 생각합니다. 따라서 지금은 101을 사용하겠습니다. 서버 하나면 충분합니다. 백업 서버는 없지만 항상 추가할 수 있으며 모든 것을 기본값으로 유지하고 마침을 선택하겠습니다. 브리지가 시작되면 자동으로 시작하는 것도 가능합니다. 그런 다음 브리지에서 세부 정보 보기를 클릭하면 예를 들어 여기를 바로 클릭하면 우리가 가진 모든 브리지 설정이 열립니다. 여기에서 지정할 수 있습니다. 필요한 경우 브리지에 노드를 더 추가할 수 있으며 활성 또는 수동으로 작동하는 캐시를 더 추가할 수도 있습니다. 따라서 추가를 클릭하면 어떤 이유로 실제로 추가할 수 없습니다. 저와 함께 참아 주십시오. 기다리는 동안 질문을 할 수 있습니다. 알겠습니다. 계속 진행하십시오. 물론, 예, 방금 하나가 나타났습니다. 그것은 매우 간단합니다. 안전한 데이터 전송을 보장하는 방법과 관련이 있습니다. 암호화 기능을 사용할 수 있습니다. 따라서 캐시 수준 암호화 또는 보안이 켜져 있으면 브리지가 이를 따릅니다. 따라서 CacheOne과 CacheTwo 간에 전송되는 모든 전송은 암호화되고 암호화와 보안이 꺼져 있으면 켜집니다. 따라서 AES, DES, FIPS 호환 암호화 공급자도 있습니다. TLS 1.2도 지원합니다. 따라서 전송 수준 보안과 페이로드 수준 보안 암호화 기능이 있습니다. 따라서 이러한 기능을 활용할 수 있습니다.

브리지에 캐시 추가

좋습니다. 캐시 중 하나인 SiteOneCache를 선택하겠습니다. 바로 여기입니다. 따라서 능동 또는 수동으로 선택할 수 있습니다. 활성으로 이동하고 마침을 선택하겠습니다.

활성 캐시

따라서 브리지 아래에 SiteOneCache가 추가됩니다. 이제 107 상자에서 가져온 두 번째 캐시를 추가하겠습니다. 서비스 제어 관리자를 열 수 있기를 바랍니다. 그래요. SiteTwoCache를 선택하십시오. 다시 활성 상태로 만들어 보겠습니다. 수동을 선택하면 사이트 XNUMX에서 사이트 XNUMX 캐시가 되지만 활성을 선택하면 사이트 XNUMX에서 사이트 XNUMX로, 사이트 XNUMX에서 사이트 XNUMX로 데이터 복제 사이에 있습니다. 마무리를 선택합시다.

브리지 통계 모니터링

따라서 브리지 카운터도 검토할 수 있습니다. 예를 들어 여기에서 브리지 통계를 열면 항상 브리지 카운터도 볼 수 있습니다. 실제로 이것을 먼저 시작하겠습니다. 어떤 이유에서인지 시스템이 응답하지 않습니다. 그러니 제발 저를 참아주시고 통계 창을 열도록 하십시오. 자, 여기 우리 다리가 있습니다. 로드가 전혀 없기 때문에 아직 복제되는 것이 없습니다.

통계

따라서 스트레스 테스트 도구인 siteonecache를 실행하여 약간의 부하를 시뮬레이션하겠습니다.

사이트원캐시

사용 가능한 카운터가 있으므로 클라이언트를 연결하고 시뮬레이션을 시작합니다. SiteOneCache에 대해서만 이 작업을 실행했지만 연결되는 즉시 실행됩니다. 그러니 저와 함께 참아 주십시오. 따라서 실제로 캐시에 연결되어 있는지 여부를 검토하기 위해 실제로 모니터를 열어 보겠습니다. 제 생각에는 그렇습니다. 따라서 브리지에는 일부 활동이 있으므로 브리지가 현재 요청을 받고 있음을 나타냅니다. 오늘은 환경이 좀 썰렁합니다. 죄송하지만 진행 상황을 검토해 보겠습니다. 브릿지가 활동을 보여주고 있기 때문입니다. 브리지 캐시 크기가 증가하고 초당 수신 및 수신된 작업이 활동을 표시하고 있습니다. 따라서 이는 본질적으로 사이트 간에 데이터를 복제하고 있음을 의미합니다. 가세요. 그래서 여기에 SiteOneCache가 있습니다.

사이트원캐시2

열리면 데모 환경에 실제로 로그인하여 카운터의 올바른 보기를 볼 수 있습니다. 실제로 이것을 로드하는 데 시간이 너무 오래 걸리고 반대 활동도 볼 수 없기 때문에 권한 관련 문제를 검토하는 데 도움이 될 것이라고 생각합니다. 괜찮은. 여기에서 이 웹 관리자를 시작하겠습니다. 가세요. 따라서 초기에는 카운터를 표시하지 않았지만 로컬 화면에서는 해당 서버에서 SiteTwoCache에 로그인했을 때 웹 관리자가 모든 카운터를 완전히 볼 수 있었습니다. 따라서 카운트가 활발히 복제되고 있습니다. 두 개의 캐시 내에서 스트레스 도구를 실행한 적이 없지만 여기에서 데이터를 적극적으로 가져옵니다. 이제 이를 중지하거나 계속 실행하더라도 이제 SiteTwoCache에 대한 스트레스 도구도 실행할 수 있으며 이는 내 SiteOneCache에도 데이터를 다시 복제합니다. 이것으로 테스트가 완료되었습니다. 두 환경에서 별도로 활동을 볼 수 있도록 이 환경에서도 원격 연결을 유지해야 한다고 생각합니다. 그래서 저는 여기에서 siteonecache, 여기에서 bridge, 저기에서 sitetwocache를 사용할 것입니다.

다음에는 몇 가지 애플리케이션 관련 사용 사례를 다루겠습니다. 질문이 있으면 알려주세요. 아주 기본적인 질문이지만 대부분 우리가 어떤 환경을 지원합니까? 다시 말하지만, 나는 당신이 앞서 몇 가지를 언급했다는 것을 알고 있지만, 나는 당신이 그것들을 모두 나열할 수 있다고 생각했습니다. 내가 말했듯이, 유일한 전제 조건은 NCache .NET 또는 .NET Core. 당신은 사용할 수 있습니다 NCache 사용 가능한 모든 곳에서 Windows 및 Linux 환경에서 온프레미스일 수도 있고, 클라우드 환경일 수도 있고, Azure, AWS, Google Cloud 또는 기타일 수도 있습니다. 호스팅 환경일 수도 있습니다. Docker 컨테이너를 통해 Docker에서 사용할 수 있으며 Docker 이미지를 사용하여 캐시와 애플리케이션을 호스팅할 수 있습니다. Kubernetes도 지원됩니다. OpenShift, Kubernetes Service는 Azure Kubernetes Service, Elastic Kubernetes Service를 언급했습니다. 따라서 Docker를 사용할 수 있는 곳이면 어디에서나 사용할 수 있습니다. NCache 거기에 있는 한 가지 간단한 사실로 요약됩니다. .NET Core 또는 .NET이 설치된 경우, 이는 NCache 와 NCache 기본적으로 모든 플랫폼, 모든 서버에서 실행할 수 있습니다.

샘플 애플리케이션 실행

그래서, 제가 실제로 이 다리를 사용하고 있지만, 사용 가능한 다른 다리가 있습니다. 이제 바로 여기에 있는 다른 응용 프로그램을 실행하겠습니다. 로드 밸런싱된 웹 애플리케이션입니다. 한 데이터 센터에서 하나의 요청을 라우팅할 수 있고 해당 데이터 센터가 다운된 경우 후속 요청이 다른 데이터 센터로 이동하도록 설계했습니다. 따라서 기본적으로 재해 복구를 관리하는 방법에 대한 관점을 제공합니다. NCache 브리지를 켜면 모든 데이터를 사용할 수 있습니다.

그래서, 우선, 저는 이것을 여기에서 실행할 것입니다. 우리가 있는 곳에서 이것을 이 창, 바로 여기에서 열겠습니다. 이제 개체 캐싱 샘플을 시작하겠습니다. 그래, 그럼 내가 이 Londo를 실행하게 해줘nCache 샘플을 찾은 다음 사용 가능한 다른 샘플도 열어 보겠습니다. 그래서 Visual Studio를 시작하겠습니다. 샘플을 실행합니다. 따라서 이러한 샘플이 실행되는 즉시 개체 캐싱을 사용하고 필요에 따라 데이터 센터 간에 요청을 라우팅할 수 있음을 보여 드리겠습니다.

따라서 브리지를 통해 한 데이터 센터에서 추가되고 다른 데이터 센터에서 또는 그 반대로 검색되는 데이터를 시각적으로 표시할 수 있습니다. 좋습니다. 그래서 이것은 Londo를 사용하는 것입니다.nCache 내가 바로 여기에 구성했습니다. 빨리 보여주면. 그래서 우리는 론도nCache 그리고 NewYorkCache가 있습니다. 따라서 두 개의 데이터 센터를 나타내는 두 개의 캐시가 있고 다음과 같은 브리지가 있습니다. NCache 다리. 론도가 있다nCache CacheOne이 활성화되고 NYCache가 두 번째로 활성화됩니다. 그래서 일단 다리를 멈추겠습니다. 이 두 캐시를 개별적으로 보여주고 일부 데이터를 시뮬레이션하고 이것이 캐시에서 어떻게 작동하는지 보여드리겠습니다. 따라서 실행하고 로드되는 즉시 NYKCache를 사용하므로 이 작업도 실행하겠습니다. 이제 브리지를 구성하는 방법을 알았으므로 모든 상자에서 관리 도구를 실행하고 해당 브리지를 구성할 수 있어 이 두 캐시를 함께 연결하는 것이 매우 간단합니다. 그러니 저와 함께 참아 주십시오. 그것은 일부 인스턴스를 회전시킬 것입니다. 오늘은 너무 느려서 죄송합니다. 따라서 빌드된 이벤트가 완료되었으므로 곧 시뮬레이트됩니다. 맞습니다. 이것은 Main.aspx이고 이 안에 캐시의 일부 개체를 로드하고 있습니다. 그게 내가 하는 전부야. 예를 들어, 내에서 Main.aspx를 보여주면 실제로 캐시의 일부 개체를 로드하는 것입니다. 그래서 여기에서 아이디어는 런던 지역 사이트를 검색한 다음 뉴욕 지역을 검색한 다음 런던 지역에서 뉴욕으로 또는 그 반대로 추가된 데이터를 동기화하는 방법을 보여 드리겠습니다. 시각적 표현은 모든 것을 많이 만들 것입니다. 비교하면 더 명확합니다. 그래서 우리는 양면을 가지고 있고 우리가 가지고 있습니다. 하나는 바로 여기에서 다른 하나는 바로 여기에서 열겠습니다. 이제 10개의 항목을 추가하면 허용됩니다. 10개의 아이템이 추가됩니다. 동일한 캐시에서 검색하면 이 데이터가 영국 지역에서 추가된 것으로 표시되고 영국 고객이 바로 여기에 표시됩니다.

런던

마찬가지로, 미국 런던의 포털에서 데이터를 추가하면 10개의 항목이 추가되고 10개의 항목이 모두 표시되지만 사용자가 반송되고 두 지역의 데이터를 동시에 사용할 수 있어야 하는 경우에는 어떻게 될까요? 따라서 아직까지는 불가능합니다. 여기에 5개 항목을 더 추가하겠습니다. 숫자 면에서 다릅니다. 따라서 여기에는 약 15개의 항목이 있고 여기에는 10개의 항목이 있습니다. 따라서 클릭 한 번으로 이 브리지를 켜고 통계를 열면 브리지가 실제로 캐시에 있는 모든 데이터를 실제로 복제합니다.

통계2

따라서 캐시는 이미 연결되어 있으며 브리지를 시작하자마자. 25개의 항목을 복제한 브리지가 있습니다. 그래서, 그것이 바로 우리가 추가한 것입니다. 그래서 카운터를 열면 Londo를 열겠습니다.nCache, NewYorkCache 및 공개 통계. 어떤 이유로 이것은 시간이 걸리지만 결국에는 열릴 것입니다. 자, 여기에 통계가 있습니다.

통계3

클라이언트가 연결되어 있고 여기에 카운트 값이 표시됩니다. 따라서 약 25개의 항목이 표시되고 NewYorkCache에서도 이 항목이 표시됩니다. 이제 내 응용 프로그램으로 돌아가서 동일한 응용 프로그램을 계속 실행하지만 이번에는 여기에서 데이터를 가져오고 캐시의 모든 항목을 볼 것으로 예상합니다. 따라서 CacheOne에서 CacheTwo로, CacheTwo에서 CacheOne으로 데이터 복제를 브리지하기 때문에 런던과 미국 항목 25개 모두가 여기에서 검색되었습니다. 그래서 여기에 15개 항목이 추가되어 10개 항목에 25개 항목이 추가되었으며 캐시인 USCache에서 데이터를 가져오면 미국 지역의 모든 항목도 표시됩니다. 그래서 다시 양방향 전송입니다. 두 개 이상일 수 있습니다. 능동-수동일 수 있습니다. 샘플 애플리케이션에 표시된 대로 단방향 전송이 수행되거나 활성-활성이 수행될 수 있는 경우.

이제 추가되는 새 항목이 20개 더 추가되었다고 가정해 보겠습니다. 예를 들어 여기에서 가져오면 45개의 항목이 표시되고 여기에서 해당 항목을 가져오면 여기에 45개의 항목이 표시됩니다. 그래서, 그것은 즉각적입니다. 여기에 추가된 모든 항목, 예를 들어 에 데이터를 추가하면 개수가 45에서 68로 증가하지만 여기에서 데이터를 가져오면 여기에서 동일한 항목을 사용할 수 있게 됩니다. 따라서 서로 다른 사이트 간에 데이터를 복제하는 속도를 확인하십시오. 따라서 이 두 캐시는 현재 우리가 말하는 것처럼 여러 서버에서 실행되고 있습니다. 이것으로 객체 캐싱 시연이 완료되었습니다.

데이터 센터 간 ASP.NET 세션 복제

ASP.NET 세션을 사용하는 경우 이를 처리하는 방법도 보여드리겠습니다. 다중 사이트에서는 ASP.NET 세션도 가질 수 있습니다. 예를 들어 로드 밸런서를 통한 작업인 경우 몇 가지 항목만 추가하면 됩니다. 이는 별도의 애플리케이션입니다. 두 개의 웹 서버(사이트 0 웹 서버 및 사이트 XNUMX 웹 서버)가 있으며 데이터 센터에서 동일한 애플리케이션을 호스팅합니다. 그래서 몇 가지 항목만 추가하겠습니다. 따라서 추가되는 즉시 다리를 한 번 더 중지하겠습니다. 장바구니를 보면. 그래서 하나의 항목이 추가되었습니다. 몇 가지 항목을 더 추가한다고 가정해 보겠습니다. 그래서 몇가지 아이템을 준비했습니다. 이제 IIS로 이동하면 런던 사이트입니다. 이것도 실제로 시작해 보겠습니다. 여기로 돌아가세요. 런던 사이트에 우선 순위가 있기를 진심으로 바랍니다. 거기에는 항목이 없으므로 끝이 어디인지 확인한 다음 브리지를 연결하고 사이트 XNUMX에서 추가한 모든 데이터를 사이트 XNUMX에서 사용할 수 있으며 그 반대의 경우도 마찬가지임을 보여드리겠습니다. 첫 번째 요청은 일반적으로 느립니다. 방금 응용 프로그램을 시작했습니다. 따라서 여기에 도착하면 XNUMX개의 항목이 반환됩니다. 따라서 사용자 세션이 사이트를 시작하거나 중지할 때마다 한 사이트에서 다른 사이트로 이동하더라도 이 두 사이트는 동기화되지 않습니다.

이제 이전에 했던 것처럼 동일한 라인에서 브리지를 켜기만 하면 됩니다. 오른쪽. 따라서 실행되고 시작됩니다. 다시, 나는 통계를 볼 것이다. 그래서 69개의 항목이 있습니다. 알다시피 이들은 이전 테스트에서 가져온 것입니다. 하지만 지금, 만약 내가 바로 여기 내 사이트로 돌아온다면. 오른쪽. 다시 시작하겠습니다. 일부 항목을 추가했습니다. 계속 그렇게 합시다. 이제 우연히도 이것이 또는 정전으로 인해 다운되거나 당신이 그것을 내리면 런던 사이트를 다운 시키면 유일한 사이트는 알다시피 뉴욕 사이트는 여전히 가동되고 실행됩니다. 보기 장바구니를 누르기만 하면 미국 포털에서 동일한 데이터 항목을 사용할 수 있으며 영국 사이트에서 데이터를 추가할 수 있습니다. 따라서 한 사이트에서 다른 사이트로 데이터가 반송되는 것을 볼 수 있으며 사용자는 여전히 데이터를 다시 가져옵니다. 이제 사이트가 다시 온라인 상태가 되더라도 캐시에서 모든 세션 데이터를 다시 가져올 수 있습니다.

다중 사이트 ASP.NET 세션

마찬가지로 다중 사이트 ASP.NET 세션이 있습니다. 그것은 별도의 기능입니다. 따라서 두 캐시 사이의 배후에서 많은 데이터 전송이 발생하고 세션 캐싱뿐만 아니라 개체 캐싱에서도 이를 본 적이 있는 개체 캐싱 시나리오에 브리지를 권장합니다.

다중 사이트

그러나 세션 캐싱의 경우 Multi-Sites ASP.NET 세션 캐싱 사용 사례도 있습니다. 그래서, 만약 내가 다리를 사용하지 않는다면. 나는 여전히 이 두 사이트를 함께 연결할 수 있으며 사용 가능한 별도의 기능을 통해 연결을 중단할 것입니다. 멈추면 여기로 다시 와야겠습니다. 내용을 지우고 다시 시작하도록 하고 실제로 세션 캐싱을 위해 캐시를 동기화하는 더 좋은 방법입니다. 그 이유는 세션이 매우 트랜잭션적인 데이터이기 때문입니다. 따라서 사용자가 한 사이트에서 다른 사이트로 이동하지 않더라도 세션 데이터가 복제되는 것을 원하지 않습니다. 따라서 사용자가 대부분 한 사이트에 있고 ASP.NET 세션이 있는 인간 사용자이기 때문입니다. 따라서 이 경우 일시적인 트랜잭션 데이터이므로 다른 사이트에서는 필요하지 않습니다. 그것은 그곳에 있는 사용자만을 기반으로 하며 한 사이트에서 다른 사이트로 사용자를 변경하는 경우 데이터의 주문형 복제로 관리할 수 있습니다. 모든 세션 데이터를 복제할 필요는 없습니다. 예를 들어 오버플로는 한 사이트가 더 많아 다른 사이트보다 더 많은 용량에 도달하고 오버플로 사용자가 다른 사이트로 이동하도록 하고 여기에 이미 세션 개체가 생성된 경우에 발생합니다. 따라서 모든 세션이 필요하지 않습니다. 특정 사용자의 세션만 있으면 됩니다. 따라서 해당 시나리오를 수용하기 위해 브리지를 켜는 것은 권장하지 않습니다.

그래서 우리는 이라는 또 다른 기능이 있습니다. NCache 다중 사이트 세션. 따라서 Multi-Region ASP.NET 세션 State Provider를 사용하면 브리지를 사용하지 않고도 이 모든 것을 실제로 달성할 수 있습니다.

ncache-다중 지역-aspnet-세션-new

따라서 세션이 있는 사이트 XNUMX 캐시가 있고 사이트 XNUMX 캐시가 있고 사이트 XNUMX에 기본 캐시 주소가 있고 지역 전체에 걸쳐 백업 캐시 주소가 있고 유사하게 사이트 XNUMX 캐시에는 기본 및 백업 개념이 있습니다. 따라서 사용자가 한 사이트에서 다른 사이트로 이동하는 경우 애플리케이션 서버인 캐시 클라이언트는 요청 시 다른 사이트로 이동하여 해당 사이트에서 세션 데이터를 사용할 수 있게 하고 필요한 것은 다른 사이트 캐시에 대한 정보뿐입니다. , 예를 들어 기본 캐시와 보조 캐시가 있으며 런던, 뉴욕에 여러 백업 캐시가 있을 수 있습니다. 따라서 런던 사용자가 뉴욕 사이트로 반송되는 경우 Londo로 돌아갑니다.nCache 데이터를 가져와서 거기에 보관하고 캐시 응용 프로그램을 다시 시작한다는 것을 보여주기 위해. 예를 들어 여기에 일부 데이터를 추가합니다. 이번에도 Londo를 사용하고 있습니다.nCache. 여기에 항목을 추가하십시오. 캐시의 내용을 지웠으므로 여기에 항목이 없으며 마찬가지로 Londo를 열겠습니다.nCache 통계. 따라서 첫 번째 요청이 들어올 때까지 여기에는 항목이 없습니다. 추가해 봅시다. 따라서 동일한 이름을 가진 두 개의 항목이 있습니다. 따라서 여기에 하나의 세션이 생성됩니다. 아직 뉴욕 사이트에 복제되지 않았지만 다중 사이트 세션 기능이 활성화되어 있습니다. 온디맨드 세션 복제가 수행되기를 원하기 때문에 이를 위한 브리지가 필요하지 않습니다. 기본 캐시와 보조 캐시가 있고 세션 상태 공급자가 연결되어 있는 이러한 구성을 완료했습니다.

따라서 세션 상태 공급자 설정을 기반으로 합니다. NCache 브리지를 사용하지 않고 Multi-Site 세션 사용 사례를 처리할 수 있고 온디맨드 방식이므로 세션 데이터에 관한 한 훨씬 더 효율적입니다. 이제 내가 할 일은 IIS로 이동하여 세션 요청을 다른 사이트로 반송하고 런던 사이트를 완전히 중지하는 것입니다. 물론 캐시를 유지하고 실행하고 지금 가져오면 됩니다. 먼저 미국 사이트에서 데이터를 가져옵니다. 거기에서 동일한 항목을 사용할 수 있게 되며 완료되는 대로 항목을 더 추가하고 Londo를 가져옵니다.nCache 온라인 백업. 그래서 제가 시연하려고 하는 주문형 복제입니다. 어떻게 진행되는지 봅시다. 몇 가지 항목을 추가해 보겠습니다. 이 사이트를 다시 온라인으로 전환하겠습니다. 런던 사이트에 붙어 있기 때문입니다. 이제 미국 사용자를 런던 사이트로 다시 데려왔으니 어떻게 진행되는지 보겠습니다. 따라서 런던 사이트에서도 동일한 항목을 사용할 수 있으며 미국 지역에서 데이터 요소가 추가되었습니다. 여기에 항목을 더 추가하면 해당 항목도 여기에 추가할 수 있습니다. 이 사이트를 중지하여 이 실패를 한 번 더 시뮬레이션하고 다른 쪽으로도 바운스되는지 보겠습니다. 이전에는 구성과 관련된 몇 가지 문제가 있다고 생각하지만 지금은 이 사이트가 중지되었습니다. 장바구니만 보도록 하겠습니다. 예상합니다. 따라서 이제 미국 사이트에서 동일한 세션을 사용할 수 있게 되었으며 이 기능에 대해 여기에서 구성한 브리지가 없으며 다중 사이트 세션일 뿐입니다. 브리지가 중지되었습니다. 여전히 데이터를 복제하고 있지만 필요에 따라 제공됩니다. 그래서, 그것은 실제로 그것을 완료합니다.

개체 캐싱 및 트랜잭션이 적은 데이터, 참조 데이터 및 정적 데이터의 경우 브리지를 켜고 데이터 센터 간의 활성 복제를 활용하는 것이 좋지만 세션은 읽기 및 쓰기 요청이 결합된 트랜잭션 사용 사례입니다. 따라서 한 데이터 센터에서 다른 데이터 센터로 데이터를 업데이트하는 동안 데이터는 이미 기본 데이터 센터에서 변경되었으며 세션 사용자는 한 데이터 센터에서 다른 데이터 센터로 반송되지 않습니다. 특정 시점에 한 사이트에만 있을 것입니다. 따라서 활성 데이터 복제가 필요하지 않습니다. 주문형 복제가 가능합니다. 지역 XNUMX에서 지역 XNUMX로 반송될 때 거기에서 세션 데이터를 가져올 수 있어야 하며 지역 XNUMX로 반송되는 경우 다시 세션 데이터를 사용할 수 있도록 할 수 있어야 하며 이를 위해 다음을 사용하는 것이 좋습니다. 브리지가 없는 다중 사이트 세션 기능.

내가 빨리 논의할 몇 가지 고급 기능이 있습니다.

브리지 기능

Bridge는 고가용성입니다. 장애 조치 지원이 내장되어 있어 브리지 서버가 다운되더라도 다운타임이 발생하지 않습니다. 브리지 대기열은 매우 최적화되어 있습니다. 빠릅니다. 또한 몇 가지 대기열 최적화 기능을 활성화하여 더욱 최적화할 수 있습니다.

갈등 해결

갈등 해결이 내장되어 있습니다. 마지막 업데이트가 이겼지만 고유한 충돌 해결을 구현하려는 경우 처리기를 사용하여 등록할 수 있습니다. NCache. 따라서 두 개의 업데이트가 동시에 발생하는 두 개의 키 충돌이 있는 경우 이 인터페이스를 호출할 수 있습니다. 그래서, NCache 제어할 수 있으며 해당 항목의 버전을 확인하고 어떤 항목이 승리할지 결정할 수 있습니다.

런타임 시 재해 처리. Zack은 처음에 Passive 사이트를 Active로 만드는 방법을 물었습니다. 트래픽을 Passive로 라우팅하기만 하면 됩니다.

취급 재해

Active 사이트가 다운되고 다운타임이 없는 경우 Active가 다시 활성화되면 자동 재동기화가 발생합니다. Active-Active에서 트래픽은 두 사이트로 라우팅됩니다. 다운된 사이트는 영향을 미치지 않으며 트래픽을 활성 사이트로 다시 라우팅하고 활성 사이트가 다시 온라인 상태가 되면 재동기화가 자동으로 수행됩니다. 지연이 없고 수동 개입이 필요하지 않습니다. XNUMX개 이상 또는 XNUMX개 이상의 Active-Active 사례에서 비브리지 활성 사이트가 다운되면 다른 사이트에 대한 트래픽을 사용하기만 하면 되며 다운타임이나 데이터 손실이 없습니다. 브릿지 활성 사이트가 다운되는 경우, 예를 들어 여기에 하나의 브릿지 사이트가 있는 경우입니다.

3+액티브-액티브

이 문제가 발생하면 백업 브리지 사이트도 선택할 수 있습니다. 따라서 해당 브리지 사이트를 활성화하고 복제를 선택하도록 백업 브리지를 지정할 수 있습니다. 따라서 전체 브리지 사이트가 다운되면 복제가 중지되지만 백업 브리지 사이트 옵션도 있습니다.

따라서 이러한 측면을 빠르게 다루고 싶습니다. 지금은 그것으로 충분하다고 생각합니다. 지금까지 질문이 있습니까? 잭 여기에서 가져올 수 있습니다. 물론, 알고 있습니다. 우리는 막바지 XNUMX~XNUMX분 안에 실행 중이므로 방금 수정한 내용에 대한 질문 하나를 던지겠습니다. 그것은 갈등 해결과 관련이 있었고 질문은 우리가 그것을 구현해야 하는 갈등 해결의 예가 무엇인가 하는 것입니다. 괜찮아. 일반적으로 대부분의 충돌 해결은 기본적으로 처리되며 아무 것도 구현할 필요가 없습니다. 시간 기반 충돌 해결이 필요한 모든 것입니다. Active-Active 사이트를 실행 중이고 한 데이터 센터에서 다른 데이터 센터로의 데이터가 필요하다고 가정하면 한 데이터 센터에서 다른 데이터 센터로의 업데이트가 필요합니다. 따라서 마지막 업데이트가 승리합니다. 그러나 데이터가 더 구체적이고 데이터의 가치를 갖고 싶은 경우 브리지에 보관해야 하는 개체가 결정됩니다. 예를 들어, 개체 정의 내에 특정 버전 또는 특정 정보 또는 특정 시퀀스 번호가 있습니다. 예를 들어 개체의 버전 속성이 있습니다. 따라서 충돌이 있는 경우 해당 개체를 놓치고 싶지 않습니다. 따라서 코드를 통해 해당 객체를 확인하고 버전을 확인하여 보관해야 하는 버전을 확인하므로 마지막 버전 또는 최신 버전을 기준으로 시간과 비교하여 버전 기반이 될 수 있습니다. 객체의 가치를 기반으로 할 수도 있습니다. 예를 들어 데이터베이스 레코드가 있고 해당 데이터베이스를 나타내고 수정된 시간이 있는 개체가 있습니다. 따라서 캐시에 대한 업데이트가 아니라 데이터베이스에 대한 업데이트이지만 해당 업데이트 시간은 해당 개체의 일부이며 해당 개체가 먼저 추가된 다음 다른 개체를 덮어쓰는 경우 마지막 업데이트를 원하지 않습니다. 데이터베이스가 손실될 수 있습니까? 따라서 객체 내부에 무언가가 있고 속성 값을 기반으로 결정해야 하는 경우 이에 대한 충돌 해결을 직접 구현해야 합니다. 그러나 내가 말했듯이 대부분의 충돌 해결은 기본적으로 시간 기반 기본 옵션을 통해 처리됩니다. 따라서 마지막 업데이트가 항목에 대한 최신 업데이트로 적용되며 이는 브리지의 대기열에 두 개의 업데이트가 동시에 추가된 경우에만 이 충돌 해결 논리가 작동한다는 점을 기억하십시오. 네, 브리지는 동시에 두 개의 업데이트를 받습니다. 어떤 것을 고를까? 사이트 XNUMX은 항목을 추가하거나 업데이트했고 사이트 XNUMX도 같은 항목을 추가하거나 업데이트했습니다. 따라서 브리지는 이제 캐시 또는 대기열에 보관할 항목을 결정해야 하며 이것이 사이트 XNUMX과 사이트 XNUMX에도 복제됩니다. 한 사람이 다른 사람을 이겨야 하기 때문입니다. 따라서 시간 기반 충돌 해결은 기본적으로 구현되며 대부분의 경우를 해결할 수 있습니다.

나는 당신에게 그것을 맡깁니다. 우리가 할 다른 것이 있습니까? 우리는 좋은 것 같아요. 내용에 관한 한. 괜찮아. 데모가 완료되었습니다. 좋아요, 우리는 마지막 순간에 달려가고 있습니다. 그래서, 나와주신 모든 분들께 감사드립니다. 이 특정 웨비나와 관련하여 질문이 있는 경우 언제든지 다음 주소로 이메일을 보내주십시오. support@alachisoft.com 확실히, 저희 웹사이트로 이동하여 무료 2개월 평가판을 다운로드하십시오. NCache Enterprise 귀하의 환경에서 사용하십시오. 온보딩에 도움이 필요하면 다음으로 연락하세요. support@alachisoft.com 구매를 원하는지 여부에 대해 더 궁금한 사항이 있으시면 NCache 라이센스 정보를 얻으려면 언제든지 sales@alachisoft.com.

다음에 무엇을할지?

 
© 저작권 Alachisoft 2002 - . 판권 소유. NCache 는 Diyatech Corp.의 등록상표입니다.