전용 역할의 사용은 실행할 역할의 수와 메모리 사용 여부에 따라 달라집니다 귀하의 웹 역할 중 규모에 따라 확장 여부가 결정됩니다. 예를 들어, 웹 역할이 항상 메모리 사용을 밀고 있고 스케일링을위한 트리거가 아닌 메모리이고 메모리 인 경우 - 웹 역할이로드를 더 오랫동안 처리 할 수 있으므로 캐시에 전용 역할을 사용하는 것을 고려하십시오. 웹 역할이 CPU 사용량이 많은 경우 각 역할의 메모리를 캐시에 전용으로 사용하는 것이 좋습니다. 또한 전용 역할로 실행하는 경우로드 및 가용성을 처리하는 데 하나 이상의 역할이 필요하므로 바쁜 시간이 아니더라도 캐시를 실행하는 역할이 적어도 3 개는됩니다 (그러나 가능한 적은 웹 역할) . 역할이 의도적으로 그리고 자주 중단되는 많은 배치 또는 축소 작업을 수행하는 경우 전용 캐시를 사용할 수도 있습니다.
동일한 위치에 역할 캐싱을 고려할 때 고려해야 할 점은 끈끈한 세션이있는 경우 항목이 동일한 컴퓨터에 있으므로 지연 시간이 줄어들 것입니다. 안타깝게도 Azure로드 밸런서는 라운드 로빈이며 전혀 끈적하지 않으므로 세션이 동일한 시스템으로 돌아갈 확률은 낮습니다 (5 가지 역할에 대해 1/5). 즉, 대부분의 경우 캐시 항목이 클러스터의 다른 역할에서 가져 오므로 동일한 위치에 대기 시간 이점이 없어집니다.
캐시가 분산되어 있고 메모리가 있음 - 내가 아는 BLOB 저장소가 없습니다 ('클러스터의 런타임 상태'제외). 캐시에로드 된 항목을 클러스터의 다른 컴퓨터에서 사용할 수있게합니다. 메모리에 저장되어있는 컴퓨터에서 가져옵니다 (컴퓨터 B에서 컴퓨터 A 로의 읽기는 컴퓨터 A에 저장되지 않습니다 - 아래 주석 참조). 캐시 된 항목은 항상 메모리에만 저장되며 캐시 크기는
고 가용성 옵션은 항목을 별도의 컴퓨터 (저장소가 아님)에 복사하므로 하나의 컴퓨터에서 오류가 발생해도 여전히 복사본이 있습니다. 고 가용성은 항목이 메모리를 사용하므로 더 많은 메모리를 사용합니다. 오류가 발생할 확률이 전자 상거래 앱에 충분할 정도로 낮을 수도 있습니다. 항목이 캐시되지 않거나 (실패 또는 만기를 통해) 지속 된 데이터에서 재구성 될 수 있습니다. 예를 들어 바구니를 캐시에 보관하고 저장소에 보관하지 않는 경우 역할이 재활용되면 손실되지 않도록하십시오.이 경우 가용성이 가장 좋은 옵션 일 수 있습니다.
멋진 사이먼. "컴퓨터 B에서 컴퓨터 A 로의 읽기가 컴퓨터 A에 저장되어 있는지 확실하지 않습니다."- 캐시 서버 측 구현에서 사용법에 따라 객체를 이동시키는 방법이 없다고 생각합니다. . 구현에 따라 클라이언트 쪽에서 로컬 캐시를 사용하려는 경우가 있습니다.하지만 캐시 클라이언트가 종종 일시적이기는하지만 웹 응용 프로그램의 경우이 방법이 도움이되지 않을 수도 있습니다. - http://msdn.microsoft.com/en-us/library/ ee790983.aspx –
Yossi를 지워 줘서 고마워. 그에 따라 편집 됨. –