2010-05-20 3 views
2

memcache 서버의 데이터 복제 모범 사례에 대한 좋은 자료를 찾으려고합니다. 내가 원하는 것은 풀에있는 내 서버 중 하나가 다운되면 다음 서버가 이미 정보 세트를 가지고 있다는 것입니다.memcache로 데이터를 복제하는 방법

"repcached"를 발견했지만 WIN32 테스트 환경을 실행 한 이후로 설치할 수 없었습니다.

그래서 서버간에 데이터를 복제하는 방법에 대한 대안은 무엇입니까? 나는이와 함께 자신을 (memcache를 그냥 각 인스턴스마다 다른 인스턴스의 정확한 복사본 경우에도, 결국 캐시로 의미 귀찮게 적이

답변

1

감사합니다, 당신은 여전히 ​​보장 할 수 없습니다 값을 추가하면 값이 항상 존재하게됩니다. 예를 들어 LRU 정책으로 인해 제거 될 수 있습니다.

그러나이 기능을 구현하기 위해 인 경우이를 서버에 대한 패치가 아닌 클라이언트에 넣습니다.

즉, 키를 단일 서버에 해싱하는 대신 2 개 또는 3 개의 서버에 해시하고 모두에 값을 저장하십시오. 그런 다음 값을 다시 가져올 때 먼저 값을 가져오고, 그렇지 않으면 두 번째 값을 시도하십시오.

마다 값을 복제하지 않는 이점이 있습니다. 선택한 값만 복제 할 수 있습니다.

+0

흠, flexihash와 같은 것을 사용하고 계시나요? http://github.com/pda/flexihash – Industrial

+1

일관된 해싱은 약간 다릅니다. 일관된 해싱을 사용하면 서버가 풀에서 제거되거나 풀에 추가 된 다음 해싱이 정의되어 다른 모든 키가 여전히 동일한 서버로 해시됩니다. 즉, 보유한 캐시 부분 만 무효화합니다 지금 제거 된 서버에서. 일관된 해싱이 없으면 서버를 제거하면 * 모든 키가 무효화됩니다. –

+0

도움 주셔서 감사합니다, Codeka. 정말 귀중했고 우리를 올바른 방향으로 인도했습니다! – Industrial

관련 문제