2017-09-19 7 views
0

서버 Y에서 호스팅되는 다른 .net 응용 프로그램 (B)에 의해 노출 된 일관된 캐시를 구독하는 서버 X에 호스트 된 .net 웹 응용 프로그램 (A)이 있습니다. 이상적으로 어떤 시점, A의 캐시 및 B의 캐시가 동기화되어 있어야합니다. 어떤 이유로 (네트워크 오류, 서버 충돌 등) A가 작동 중지되면 A가 재시작됩니다. A가 다운 된 시간대에서 B 캐시에 새로운 업데이트가있을 수 있습니다. 그래서 다시 시작할 때 A의 캐시가 B의 캐시와 동기화되어 있는지 확인하려고합니다. 이 목표를 달성하기위한 최선의 전략은 무엇입니까?서버간에 일관된 캐시를 동기화하는 문제가 발생했습니다.

A는 캐시를 데이터베이스 (키 및 값)에 연속해서 복제해야합니까? 그리고 A가 중단되어 다시 백업되면 데이터베이스의 키 수를 확인할 수 있습니다. 이 수가 B의 캐시에있는 수와 일치하지 않으면 B의 캐시를 사용하여 다시 채울 수 있습니까? 이 접근법이 맞습니까?

감사합니다.

답변

0

Federated Caching을 사용하면 모든 클러스터에서 캐시를 동기화 할 수 있습니다.

어떤 이유에서든 복제 된 캐시 클러스터를 다시 시작한 경우 이 수동으로 생성됩니다. (예 : JConsole 사용)은이 클러스터가 돌아올 때 데이터 복제를 트리거합니다. 그렇지 않으면 새로 캐시 된 데이터 만 동기화됩니다.