2014-06-10 3 views
1

우리는 서버 측 캐싱을 위해 memcached를 탐색하고 있습니다.memcached를 사용한 분산 캐싱

memcached 노드의 클러스터를 설정하면 온라인 리소스에서 알 수 있듯이 주어진 키가 사용 가능한 노드 중 하나에서만 표시되는 것처럼 보입니다. 이것은 특정 memcached 노드가 중단 된 경우 그 시점에 해당 노드에있는 모든 캐시가 유실되었음을 의미합니다.

캐시가 하나 이상의 memcached 서버 노드에 분산되어 단일 지점에서 장애가 발생하지 않는 방법이 있습니까?

답변

1

우리는 클라이언트의 논리 클러스터 (2 또는 3)에 memcache 서버를 그룹화하여이 문제를 해결했습니다. 캐시 "put"을 수행하는 동안 모든 클러스터에 클러스터를 넣습니다 (클러스터의 단일 노드에 저장됩니다). 그러나 "get"을 수행하는 동안 이전 클러스터가 실패한 경우에만 후속 클러스터에서 get을 수행합니다. 이 설정으로

는 Memcache의 서버는 단일 장애 지점의 역할을하지 않고 임의의 memcache에 서버가 다운 않을 경우, 우리는 항상

아마 다른 논리 클러스터되지 가장 좋은 방법까지 캐시를 찾을 수 있습니다 이 문제를 해결할 수 있지만 더 좋은 방법이 있다면 알려 주시기 바랍니다.