현재의 추가 소형 VM이 한도에 도달했기 때문에 두 번째 추가 소형 인스턴스를 만들고 가용성 세트에 두 개를 추가하여 내 서비스가 항상 사용 가능하고 로드 밸런서를 통해 로드 밸런싱이 이루어지도록 하기로 결정했습니다. 제 질문은 데이터에 어떤 일이 일어날지 아는 것입니다. 둘 다 동일할까요? 왜냐하면 두 가지 모두에서 동일한 데이터가 필요하기 때문입니다! 예를 들어:
Request1 -> vm1 -> 데이터 추가 Request2 -> vm2 -> vm1에 처음 저장된 데이터를 읽고 싶습니다.
또는 훨씬 더 간단합니다. wordpressblog를 실행하고 블로그를 추가하면 두 블로그 모두에서 사용할 수 있어야 합니다!
미치
답변1
각 가상 머신은 Azure Storage의 페이지 Blob에 있는 자체 vhd로 지원됩니다. 이는 여러 인스턴스에서 공유해야 하는 모든 유형의 콘텐츠를 저장하기에 좋은 장소가 아닙니다(그리고 진행 중인 세션 상태도 해당 가상 머신의 실행 중인 인스턴스로 제한됩니다). 두 가상 머신 모두에 액세스할 수 있는 공통 장소에 세션 상태와 기타 지속 데이터를 저장해야 합니다.~ 아니다vhd의 기본 디스크 또는 임시 디스크에 직접 콘텐츠를 저장합니다.
세션 상태의 경우 Windows Azure SQL 데이터베이스(기본적으로 sql-as-a-service)를 쉽게 설정하고 이를 세션 상태 공급자로 사용할 수 있습니다. 또는 memcached를 실행하거나 Table Storage를 사용하거나 완전히 다른 것을 선택할 수도 있습니다. 다른 아이디어는 여러분의 상상에 맡기겠습니다.
WordPress를 실행할 때도 마찬가지입니다. 콘텐츠는 공통 데이터 저장소에 있어야 합니다. WordPress에서는 MySQL을 사용하므로 독립적인 가상 머신 인스턴스에서 MySQL을 설정하거나 Azure Store를 통해 MySQL 데이터베이스를 구독할 수 있습니다.
또 다른 옵션은 사용자가 만든 가상 머신과 완전히 독립적이고 액세스하기 매우 쉬운 Blob Storage에 콘텐츠를 저장하는 것입니다. Blob Storage는 Table Storage와 함께 REST API(현재 .net, php, java, python, node 및 Ruby SDK)를 기반으로 구축된 뛰어난 언어 SDK 지원을 제공합니다. Azure에서 원하는 SDK를 가져올 수 있습니다.다운로드페이지. 다음에서 소스 코드를 자세히 살펴볼 수도 있습니다.github 레포.