웹 사이트 (모든 구성 요소가 Azure에서 호스팅 됨)가 미국 및 해외 사용자를 모두 포함하는 프로젝트를 진행 중입니다. 우리는 데이터의 99 %에 BLOB 및 테이블 스토리지를 사용하고 있습니다. 필자가 이해할 수없는 것은 다중 테이블 등을 포함하여 글로벌 인스턴스를 설정하고 모든 것을 동기화 상태로 유지하는 방법입니다. 예를 들어 사용자가 프랑스에서 사이트에 로그인하면 동일한 데이터 센터 (항상 같은 저장소 인스턴스를 의미)에 항상 방문 할 수 있도록하려면 어떻게해야합니까? 다른 저장소 인스턴스에 도달하면 데이터가 저장되거나 고갈됩니다.글로벌 사용자를위한 Azure 사용
답변
Compute와 Storage는 특정 데이터 센터에 적합합니다. 글로벌 계산 또는 글로벌 저장소 배포 개념이 없습니다.
다음과 같이 말하면 : 일반적으로 인간 중심의 앱 (예 : 웹 앱)을 단일 데이터 센터에 호스팅합니다. 일반적으로 브라우저와 서버 간의 대기 시간은 상대적으로 적은 양의 데이터 만이 둘 사이를 이동하는 경우 큰 문제가되지 않습니다. 대부분의 대역폭은 일반적으로 웹 서버와 앱 서버 및/또는 데이터베이스 인스턴스 사이에 있습니다. 그리고 Azure에서 웹 애플리케이션과 동일한 데이터 센터에 데이터를 배치 할 필요는 없습니다 (대기 시간 + 송신 대역폭 비용 측면에서 이상적인 시나리오 임에도 불구하고).
Compute를 여러 데이터 센터에 사용하려면 Azure의 트래픽 관리자와 같은 몇 가지 유형의 부하 분산을 수행해야합니다. 그러나 Traffic Manager의 "가장 가까운"설정을 사용해도 France 사용자가 W. Europe 대 N. Europe 데이터 센터를 강타 할 것이라는 보장은 없습니다. 방문객이 데이터 센터 인에 도착할 때마다 항상 계획해야합니다. 이러한 이유로 단일 데이터 센터에서 Compute를 처리하는 것이 훨씬 간단합니다.
데이터 관련 : Compute가 단일 데이터 센터에 있으면 여러 데이터 센터에 데이터를 쓸 필요가 없습니다 (재해 복구 제외). 일 경우을 Compute를 여러 데이터 센터에 배포하기로 결정한 경우 데이터를 동기화하기위한 고유 한 방법이 필요합니다. Azure blobs & 테이블 스토리지의 경우 조작이 대기열 구동되는 일부 유형의 명령 패턴 (예 : CQRS)을 고려할 수 있습니다. 이를 통해 서로 다른 데이터 센터에있는 여러 스토리지 계정에 대해 대기중인 각 데이터 작업을 처리 할 수 있습니다.
데이터 주주 문제가 발생할 수 있습니다. 여기에서 데이터 은 지역에 따라 특정 고객의 특정 데이터 센터에있는이어야합니다. 다시 말하지만 앱 계층에이를 구현해야합니다. 이것에 대한 한 가지 생각은 특정 데이터 센터가 설정된 경우 사용자에게 웹 계층과 함께 단일 데이터베이스에 데이터 센터 매핑을 저장하는 것입니다. 이 시점에서 방문자가 로그인하면 올바른 데이터 센터를 쉽게 찾고 해당 브라우징 세션에서 특정 데이터 센터의 데이터에 액세스 할 수 있습니다.