2012-04-19 6 views
1

memcached를 사용하여 약 5MB 데이터를 저장합니다. memcached 클라이언트와 서버간에 약 280 qps의 원인이되는 초당 데이터 업데이트의 40 퍼센트가 get 및 set으로 각각 절반의 쿼리가 소요됩니다. 위대한 데이터 트랜잭션의 실현을 제외하고, 나는 또한 HA 문제를 만난다.Memcached HA를 어떻게 수행합니까?

memcached를 선택하기 전에 Redis도 살펴 보았습니다. 그러나 그것은 단지 하나의 스레드로 보이며 데이터 지속성에 대해서는 잘 수행되지 않을 것으로 보인다. 또한 Redis의 고객은 Memcached와 함께 할 때 쉽지 않고 도달 할 수 없습니다.

하지만 memcached를 사용하여 어떻게 HA를 할 수 있습니까? 어떻게 memcached 서버와 마스터 서버간에 데이터 복제를 유지해야합니까? memcached 서버가 손상되면 데이터 일관성 문제가 발생합니다. 이미 memcached HA를위한 좋은 도구가 있습니까? 아니면 memcached 대신에 더 나은 NoSql Database가 있습니까?

+0

안녕 - 나는 귀하의 질문에 더 stackexchange.com 같은 포럼에 게시 할 것 같아요 (SYS 관리자를위한)보다는 stackoverflow (프로그래밍 관련 질문). 이 스레드에 흥미가있을 수도 있습니다. http://www.mail-archive.com/[email protected]/msg07175.html – paulsm4

+1

memcached는 NoSQL 저장소가 아닌 캐시입니다. 최대 메모리에 도달하면 언제든지 데이터가 제거 될 수 있습니다. memcached와 함께 사용하려면 안정적인 저장소가 필요합니다. memcached에 물건을 저장하고 싶다면 CouchBase 녀석 (가상 버킷 메커니즘)을 살펴보십시오. 아, Redis에 대한 여러분의 의견은 우스 꽝 스럽습니다 (단일 Redis 인스턴스는 최신 하드웨어에는 문제가없는 200+ Kqps를 지원할 수 있으므로 280 qps는 거의 영향을 미치지 않습니다). –

+0

@DidierSpezia가 -M으로 memcached를 실행하면 데이터가 축출되지 않습니다. 멘 페이지에서'-M 메모리가 부족할 때 캐시에서 항목을 자동으로 제거하지 못하도록합니다. 충분한 공간이 확보 될 때까지 추가가 가능하지 않습니다. " – seppo0010

답변

관련 문제