2013-09-05 4 views
0

웹 사이트를 호스팅하는 클라우드 서비스에서 2 개의 azure 인스턴스를 실행 중입니다.여러 azure 인스턴스에서 파일을 찾을 수 없습니다.

파일을 폴더에 업로드하면 하나의 인스턴스에 저장됩니다. 로드하려고하면 azure가 잘못된 인스턴스를 선택하면 파일을 찾지 못합니다. 이 문제를 해결하려면 어떤 옵션이 필요합니까?

블롭 저장 장치에 파일을 저장한다고 생각했지만이 방법을 사용하면 시간을 절약 할 수 있습니다.

답변

3

질문에 언급 했으므로 BLOB 저장소에 저장해야합니다. 그 이유는 다음과 같습니다.

  1. Windows Azure는 기본적으로 라운드 로빈 부하 분산 정책을 사용합니다. 즉, 한 인스턴스에 파일을 업로드하고 요청이 두 번째 인스턴스에서 제공되는 경우 사용자가 파일을 요청하면 파일을 찾을 수 없습니다 (오류 발생).
  2. 더 중요한 것은 클라우드 서비스가 stateless by nature입니다. VM이 내려 가면 VM (파일 저장 등)에서 수행하는 작업이 모두 사라진다는 것을 의미합니다. 반면에

BLOB 저장소는 영구 저장하고 간단한 HTTP 프로토콜을 통해 액세스 할 수 있습니다. 따라서 사용자가 파일을 업로드하면 BLOB 저장소에 저장됩니다. 사용자가 요청하면 blob 저장소에서 blob을 제공하기 만하면됩니다.

UPDATE - 당신의 첫번째 의견에 대해서는

아래 의견을 바탕으로, 당신은 여전히 ​​BLOB 저장소를 사용할 수 있습니다. 당신이 할 수있는 일은 임시 파일을 담기위한 blob 컨테이너를 생성하고 사용자가 모든 단계를 완료하면 다른 컨테이너로 이동시킬 수 있습니다 (영구 컨테이너라고 부름). 한 컨테이너에서 다른 컨테이너로 블롭을 복사하기 위해 블롭을 VM에 다운로드 할 필요조차 없습니다. Windows Azure는 BLOB를 한 컨테이너에서 다른 서버로 복사하는 서버 측 비동기 복사를 지원합니다.

두 번째 의견에 대해서는로드 균형 조정 정책을 변경할 수 있다고 생각하지 않습니다. Application Request Routing (ARR)이라는 스티커 세션을 구현하는 항목이 있지만 불행히도 익숙하지 않습니다. 당신은 그걸 들여다 볼 수 있습니다.

+0

네,하지만 이미지를 업로드하고 있는데 이것들은 최종이 아니므로 임시 폴더에 저장합니다. 사용자가 흐름을 완료하고 더 이상 이미지를 변경할 수 없으면 해당 파일은 쓸모가 없습니다. –

+0

그런데 어떻게 부하 분산 정책을 변경할 수 있습니까? –

+0

귀하의 의견에 따라 답변을 업데이트했습니다. –

관련 문제