내보내기(0) 인쇄
모두 확장

Azure 캐시에 대한 역할 내 캐시 정보

업데이트 날짜: 2015년 2월

note참고
응용 프로그램에 대한 올바른 Azure 캐시 제품 선택에 대한 자세한 지침은 내게 적합한 Azure 캐시 기능를 참조하세요.

역할 내 캐시는 Azure 역할에서 캐싱 서비스를 호스트하는 기능을 지원합니다. 이 모델에서 캐시는 클라우드 서비스의 일부입니다. 클라우드 서비스 내에서 역할 하나를 선택해 역할 내 캐시를 호스팅합니다. 실행 중인 해당 역할의 인스턴스에서 메모리 리소스를 연결하여 캐시 클러스터를 만듭니다. 이 비공개 캐시 클러스터는 동일한 배포 내의 역할에서만 사용할 수 있습니다. 역할 내 캐시 배포 토폴로지에는 같은 위치에 배치되는 방식과 전용 방식의 두 가지가 있습니다. 같은 위치에 배치된 역할에서는 캐싱 응용 프로그램 이외의 다른 응용 프로그램 코드와 서비스도 호스팅합니다. 전용 역할은 캐싱에만 사용되는 작업자 역할입니다. 다음 항목에서는 이러한 캐싱 토폴로지에 대해 자세히 살펴봅니다.

역할 기반 역할 내 캐시에 대한 단계별 연습은 Azure In-Role Cache를 사용하는 방법을 참조하세요. 다운로드 가능한 예제는 Azure 역할 내 캐시 샘플를 참조하세요.

이 섹션에서는 역할 기반 역할 내 캐시의 세 가지 주요 개념을 간략하게 설명합니다.

  1. 캐시 클러스터

  2. 명명된 캐시

  3. 캐시 클라이언트

Azure 역할에는 인스턴스가 하나 이상 있습니다. 각 인스턴스는 지정된 역할을 호스팅하도록 구성된 가상 컴퓨터입니다. 역할 내 캐시를 사용하는 역할이 여러 인스턴스에서 실행되면 캐시 클러스터가 형성됩니다. 캐시 클러스터는 클러스터의 모든 컴퓨터에서 결합된 메모리를 사용하는 분산 캐싱 서비스입니다. 응용 프로그램은 항목이 저장되어 있는 컴퓨터를 알지 못해도 캐시 클러스터에서 항목을 추가하거나 검색할 수 있습니다. 고가용성을 사용하는 경우 항목의 백업 복사본이 다른 가상 컴퓨터 인스턴스에 자동으로 저장됩니다.

note참고
각 클라우드 서비스에 대해 하나의 캐시 클러스터만 지원됩니다. 각 역할에 대한 별도의 저장소 계정을 지정하여 클라우드 서비스에서 여러 캐시 클러스터를 설정할 수 있지만 이 구성은 지원되지 않습니다.

Azure 역할에서 역할 내 캐시를 사용하는 경우 캐싱에 사용할 수 있는 메모리 용량을 지정할 수 있습니다. 같은 위치에 배치된 시나리오의 경우 사용자가 역할을 호스팅하는 가상 컴퓨터에서 사용 가능한 메모리의 비율을 선택합니다. 전용 시나리오의 경우 가상 컴퓨터의 사용 가능한 모든 메모리가 캐싱에 사용됩니다. 하지만 운영 체제에서 차지하는 메모리 용량이 있기 때문에 사용 가능한 메모리는 항상 가상 컴퓨터의 실제 메모리의 총 용량보다 적습니다.

따라서 캐싱 메모리의 총 용량은 캐싱용으로 예약된 역할 메모리 용량과 역할 수를 곱한 값으로 결정됩니다. 이에 따라 해당 역할의 실행 인스턴스 수를 늘리거나 줄여서 캐싱 메모리의 총 용량을 효과적으로 조정할 수 있습니다.

Warning경고
역할 내 캐시를 호스팅하는 역할의 실행 인스턴스 수를 줄일 때는 한 번에 최대 3개까지 줄일 수 있습니다. 그런 다음 다시 최대 3개의 실행 인스턴스를 제거하는 방식으로 반복하여 원하는 수가 될 때까지 줄입니다. 인스턴스를 한 번에 4개 이상 줄이면 클러스터가 불안정해질 수 있습니다.

각 캐시 클러스터는 Azure 저장소에서 클러스터의 런타임 상태에 대한 공유 정보를 유지 관리합니다. 개발 시 Azure 저장소 에뮬레이터를 사용할 수 있습니다. 배포된 역할은 올바른 Azure 저장소 계정을 지정해야 합니다. Visual Studio에서 역할 속성의 캐싱 탭에 적절한 저장소 계정을 지정할 수 있습니다.

모든 캐시 클러스터에는 default라는 이름의 캐시가 하나 이상 있습니다. 역할 기반 역할 내 캐시의 경우 명명된 캐시를 추가할 수도 있습니다. 캐시별로 변경할 수 있는 여러 가지 설정이 있습니다. 다음 스크린샷에는 Visual Studio 역할 설정에 있는 캐싱 탭의 명명된 캐시 설정 섹션이 나와 있습니다.

명명된 캐시의 Caching 속성

Visual Studio에서 명명된 캐시 추가 단추를 클릭하면 명명된 캐시를 추가할 수 있습니다. 위 예제에서는 NamedCache1NamedCache2라는 두 개의 캐시가 추가되었습니다. 각 캐시의 설정은 서로 다릅니다. 설정을 변경하려면 테이블에서 해당 필드를 선택한 다음 수정하면 됩니다.

명명된 캐시는 응용 프로그램 개발자에게 유연성을 제공합니다. 각 명명된 캐시에는 자체 속성이 있습니다. 예를 들어 하나의 캐시에서 고가용성을 사용하도록 설정하여 고가용성을 활용할 수 있습니다. 하지만 다른 캐시에는 이 설정이 필요하지 않을 수 있습니다. 고가용성을 활용하려면 캐시된 각 항목의 두 배에 해당하는 메모리가 필요합니다. 리소스를 보다 효율적으로 사용하려면 고가용성이 필요한 캐시에만 고가용성을 사용합니다. 이와 비슷한 다른 시나리오에서는 응용 프로그램 요구 사항을 충족하기 위해 속성이 다양한 여러 캐시가 사용될 수 있습니다.

캐시 클라이언트는 캐시 클러스터의 항목을 저장하고 검색하는 응용 프로그램 코드입니다. 역할에서 역할 내 캐시를 사용하는 경우 캐시 클라이언트는 동일한 캐싱 역할의 일부이거나 배포 내 다른 역할에 통합되어 있어야 합니다. 응용 프로그램이나 웹 구성 파일을 사용하여 캐시 클라이언트를 구성합니다. 자세한 내용은 방법: Azure 역할 내 캐시를 사용하도록 Visual Studio 준비를 참조하세요. 다음 예제에서는 구성 파일의 dataCacheClient 요소를 보여 줍니다.

<dataCacheClients>
  <dataCacheClient name="default">
    <autoDiscover isEnabled="true" identifier="CachingRole1" />
    <!--<localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="300" />-->
  </dataCacheClient>
</dataCacheClients>

위 예제에서 autoDiscover 요소에는 CachingRole1로 설정된 identifier 특성이 있습니다. 이 식별자는 CachingRole1에서 역할 내 캐시를 사용하도록 지정합니다. 또한 캐시 서버의 위치를 제공합니다. 이 캐시 클라이언트는 모든 캐싱 작업에 CachingRole1을 자동으로 사용합니다.

캐시 클라이언트가 구성되면 이름을 통해 캐시에 액세스할 수 있습니다. 다음 예제에서는 NamedCache1 캐시에 액세스하여 항목을 추가합니다.

DataCache cache = new DataCache("NamedCache1", "default");
cache.Put("testkey", "testobject");

DataCache 생성자에는 두 가지 매개 변수, 즉 캐시 이름과 dataCacheClient 섹션 이름이 사용됩니다. 캐시 이름에 대한 내용은 이전 명명된 캐시 섹션을 참조하세요.

참고 항목

개념

캐시

Microsoft는 MSDN 웹 사이트에 대한 귀하의 의견을 이해하기 위해 온라인 설문 조사를 진행하고 있습니다. 참여하도록 선택하시면 MSDN 웹 사이트에서 나가실 때 온라인 설문 조사가 표시됩니다.

참여하시겠습니까?
표시:
© 2015 Microsoft