0

내 프로젝트에서는 분산 캐시 메커니즘으로 SharedCache을 사용하고 있습니다. 이 캐싱 된 데이터에 액세스하는 webfarm에 배포 된 서비스 인스턴스가 여러 개 있습니다. 캐싱되는 데이터는 일시적이며 업데이트 할 수 있습니다. 두 개 이상의 서비스간에 데이터에 대한 액세스를 동기화 할 수있는 방법이 있는지 알고 싶습니다.분산 캐시 (SharedCache)에 저장된 키에 대한 액세스 동기화

여기에 예제가 있습니다. 실행중인 서비스의 인스턴스가 2 개 있다고 가정합니다. 두 인스턴스가 모두 공유 캐시에 액세스하고 있습니다. 하나의 서비스가 처리를 위해 캐시에서 일부 데이터를 가져 오는 경우 다른 서비스가 동일한 정보를 선택하지 않기를 원할 것입니다. 이를 위해 사용할 수없는 상태로 캐시를 업데이트해야합니다. 그러나 상태를 업데이트하는 동안 두 번째 서비스가 동일한 데이터를 선택할 수도 있습니다.

공유 캐시 문서 번호 thread safety은 데이터가 전역 적으로 사용할 수 있으며 스레드로부터 안전하지 않다고 제안합니다. SharedCache의 소스 코드를 변경하지 않고 스레드를 안전하게 만들 수있는 방법이 있습니까?

+0

SharedCache 코드를 살펴 보았습니다. 추가 및 제거와 같은 메소드를 잠그고 있습니다. –

답변

0

나 자신이 언급했듯이 sharedcache 코드 내에 잠금이 있으며 동기화되어 있습니다. 그러므로이 질문의 폐회에 투표했다.

관련 문제