는 불행하게도, 난 ...
첫째, 분산 대 중앙을 Memcached가 전문가가 아니에요하지만 당신은 사용 사례에 가장 적합한 옵션을 선택할 수 있도록 내가 당신에게 몇 가지 기본 개념에 대한 자세한 내용을 알려주지 - 당신이있는 경우 시스템에 하나의 노드 만 있으면 더 빠를 것입니다 (복제가 없다고 말했기 때문에). 그러나 노드가 다운되면 어떻게됩니까? 또는 다른 시나리오 - 노드가 가득 차게되면 어떻게됩니까? (초당 많은 읽기/쓰기를 수행한다고 말했습니까?) 한 가지 해결책은 쓰기가 슬레이브 노드에 비동기 적으로 전달되는 마스터/슬레이브 복제를 사용하는 것입니다. 이 솔루션은 노드가 다운 되었어도 노드를 가득 채워두면 아무런 효과가 없습니다 (마스터 노드가 가득차면 슬레이브가 몇 분 후에 가득 차게됩니다).
데이터 일관성 - 시스템에 둘 이상의 노드가있는 경우 데이터가 동기화되지 않을 수 있습니다. 2 개의 노드와 각각의 노드에 연결된 클라이언트 사이의 비동기 복제를 상상해보십시오. 두 클라이언트는 똑같은 순간에 동일한 키에 대한 쓰기를 수행합니다. 가능성은 낮지 만 믿을 만하다. 매우 동시적인 읽기 및 쓰기가 일어날 것이다. 이 문제를 해결할 수있는 유일한 방법은 대부분의 노드를 시작하여 실행하는 (또는 컨센서스라고도 함) 동기 복제를 사용하는 것입니다.
시나리오로 돌아 가기 - 끊어진 노드가 문제가되지 않는 경우 (예 : 다른 데이터 소스로 자동 전환 할 수있는 경우) 데이터가 늘어나지 않습니다. 1 노드 솔루션 또는 마스터/슬레이브 복제. 데이터가 강건하게 일치해야하는 경우 - 동기화 복제를 수행하고 있는지 확인하십시오 (트랜잭션은 가능하지만 지침은 사용자 설명서를 참조해야합니다). 그렇지 않으면 전체 시스템을 중단하지 않고 노드를 추가/제거 할 수있는 더 다양한 솔루션을 선택하고 동기화/비동기 복제 옵션을 사용할 것을 권장합니다.
제 경험에 비추어 볼 때 사람들은 데이터 일관성에 대해 너무 신경을 쓰지 만 확장 성은 신경 써야합니다. 그리고 마지막 조언 - 솔루션을 평가하기 전에 실적 기준을 정의하십시오 (예 : 필자의 글은 X보다 길지 않고 Y보다 길지 않아야 함). 기준에 대한 신뢰 수준도 정의하십시오 (전체의 99.5 % 필요) X보다 작게 읽습니다.)
[여기] (http://vschart.com/compare/jboss-infinispan/vs/memcached)를 참고하면 도움이 될 수 있습니다. – phoenixSid