2014-02-06 1 views
4

순수한 성능을 위해 Azure 웹 응용 프로그램을 두 개의 개별 데이터 센터 (서유럽과 동남아시아에 위치한 데이터 센터)에 배포 할 계획입니다. 원인. 우리는 사용자가 파일을 업로드하도록 허용합니다. 즉, 두 데이터 센터의 BLOB 저장소를 동기화해야합니다. Azure가 구조화 된 데이터 동기화를 지원하지만 BLOB 동기화에 대한 지원이없는 것 같습니다. 내 질문 :두 개의 서로 다른 데이터 센터에서 호스팅되는 두 개의 Azure 저장소 (BLOB) 간의 동기화 방법

다른 데이터 센터간에 BLOB 동기화를 제공하는 서비스가 있습니까? 그렇지 않다면 어떻게 구현할 수 있습니까? Azure BLOB 저장소와 로컬 파일 시스템 간에는 많은 샘플이 동기화되지만 데이터 센터 간에는 동기화되지 않습니다.

+0

@ danludwig : 지리적 복제를 살펴 봤지만 내구성은 순전히 내구성을위한 것인데, 즉 스토리지에 자동 장애 조치를 제공한다는 것입니다. 또한 지리 정보 복제를 사용하면 보조 데이터 센터가 기본 데이터 센터를 기반으로 자동 선택되므로 내 요구 사항에 맞지 않습니다. –

+1

이미 보셨습니까? http://www.cloudberrylab.com/cloud-migrator.aspx. 그것은 귀하의 요구 사항에 맞게 것 같습니다. – Aravind

+0

@Aravind, 재미있어 보인다! 나는 베타에 가입했다. Amazon S3에서도 동일한 문제가 발생했으며이 작업을 수행하는 데 사용할 수있는 도구가 거의없는 것에 놀랐습니다. 나는 그것이 일반적인 백업 시나리오가 되겠지만 가지고있을 것이다. – QFDev

답변

3

다른 데이터 센터간에 블로 브 동기화를 제공하는 서비스가 있습니까?

아니요. 현재 두 개의 데이터 센터간에 콘텐츠를 동기화하는 서비스는 제공되지 않습니다.

그렇지 않은 경우 어떻게 구현할 수 있습니까?

구현에 필요한 모든 인프라가 제공되지만 실제 구현은 까다로운 작업입니다.

처음에는 실시간 동기화를 원할지 또는 일괄 동기화로 수행 할 것인지 결정해야합니다.

실시간 synhroniztion의 경우 Async Copy Blob에 의존 할 수 있습니다. async copy blob을 사용하면 실제로 저장소 서비스에서 blob을 소스에서 수동으로 다운로드하고 대상에 업로드하는 대신 하나의 저장소 계정에서 다른 저장소 계정으로 복사하도록 지시 할 수 있습니다. 모든 업로드가 응용 프로그램에서 일어나고 있다고 가정하면 blob을 업로드하자마자 업로드중인 데이터 센터를 알 수 있습니다. 할 수있는 일은이 BLOB의 SAS URL을 생성하고 다른 데이터 센터에 대한 비동기 복사를 시작하는 것입니다.

일괄 동기화의 경우 저장소 계정과 각 BLOB 컨테이너의 BLOB를 모두 쿼리해야합니다. BLOB가 하나의 스토리지 계정에서만 사용 가능하고 다른 스토리지 계정에서는 사용할 수없는 경우 비동기 복사 BLOB를 시작하여 대상 저장소 계정에 BLOB를 간단히 만들 수 있습니다. 같은 이름의 blob이 두 스토리지 계정에 모두 존재하면 문제가 더 복잡해집니다. 이 경우 수정 된 날짜 등을 비교하는 것과 같은 몇 가지 규칙을 정의하여 BLOB를 원본 저장소 저장소에서 대상 저장소 계정으로 복사해야하는지 여부를 결정해야합니다.

배치 동기화를 예약하려면 Windows Azure Scheduler Service을 사용할 수 있습니다. 이 서비스를 사용하더라도 동기화 로직에 대한 코드를 작성해야합니다. 스케줄러 서비스는 스케줄링 부분 만 처리합니다. 실제 동기화는 수행하지 않습니다.

동기 논리를 구현하기 위해 작업자 역할을 사용하는 것이 좋습니다. 또 다른 대안은 최근에 발표 된 Web Jobs입니다. 그러나 그것에 대해 많이 알지 못합니다.

당신은 PowerShell을 사용하여이 작업을 자동화 할 수 있습니다
0

: 하나의 윈도우 Azure 스토리지에서

다운로드 (스냅 샷) 모든 물방울은 푸른 저장 http://www.scarydba.com/2013/06/03/using-powershell-to-move-files-to-azure-storage/

복사 파일을 이동 PowerShell을 사용하여 http://gallery.technet.microsoft.com/scriptcenter/all-Blobs-with-Snapshots-3b184a79

계정 하나의 Windows Azure 구독에서 다른 BLOB 저장소의 모든 VHD http://gallery.technet.microsoft.com/scriptcenter/Copy-all-VHDs-in-Blog-829f316e

+0

다른 서버에 다른 BLOB가 추가 된 경우이 방법을 사용하여 동기화 할 수 있습니까? –

2

당신의 목표가 단지 성능에 관한 것이고 내용이 공개이면 Azure CDN을 사용하십시오. 기본 BLOB 저장소 컨테이너를 가리키면 최상의 성능을 위해 전세계 파일을 복사합니다.

관련 문제