2015-01-13 4 views
3

memcache 대신에 aerospike를 배포하려고합니다. 우리는 그것을 배치 할 두 대의 서버를 가지고 있습니다.동기화가없는 Aerospike 노드

캐시의 경우 여러 노드에서 데이터 복제를 원하지 않습니다. 우리 아키텍처에서는 각 노드마다 하나의 캐시가 있습니다.

이제는 aerospike와 관련하여 두 노드 간의 동기화를 증가시키는 아키텍처는 공유되지 않습니다. 데이터 전송은 두 대의 컴퓨터 사이에서 많은 대역폭을 발생시킵니다. 우리가 1Gbps 네트워크에 있고 캐싱 공간이 약 4Gb이기 때문에 캐시가 채워지면 모든 대역폭을 실제로 사용합니다.

우리는 단지 클러스터 지원없이 aerospike를 사용하고자합니다.

어쨌든 aerospike.conf에서 해제 하시겠습니까?

답변

5

확실히 가능합니다. 네임 스페이스 구성에서는 복제 팩터가 1 인 것을 주장 것이다 :

namespace cache { 
    memory-size 4G 
    storage-engine memory 
    replication-factor 1 
    high-water-memory-pct 80 # Evict non-zero TTL data if capacity exceeds 80% 
    default-ttl 432000 # select a non-zero TTL that makes sense to your use-case 
} 

을 비 제로 TTL으로 데이터의 퇴거는 Memcached가 LRU의 퇴거와 유사한되는 결과, 히스토그램에 따라 발생합니다. 그 초가 예상되는 것입니다. 데이터가 레코드에 기록 될 때마다 TTL이 재설정된다는 점을 기억하십시오.

+2

클라이언트가 쓰기 작업을 효율적으로 처리하고 레코드 파티션의 마스터 인 클러스터 노드에만 대화한다는 점에 유의하십시오. 복제를 구성한 경우 쓰기가 복제본 파티션을 소유하는 노드에 동기화되고 클라이언트에 성공적인 쓰기가 통보됩니다. 오버 헤드는 예상보다 작으며 내구성이 뛰어난 클러스터를 만듭니다. 순전히 캐시로 가고 휘발성이어서 문제가 없더라도 문제가되지 않습니다. –

+2

빠른 복귀를 가져 주셔서 감사합니다. 나는 같은 것을 구현했지만 여전히 뉴럴릭에서 대역폭 스파이크를 보았다. asmonitor를 사용하여 동기화가 중지되었다고 생각하지만 데이터는 여전히 사설 IP에서 읽습니다. 네트워크 인터페이스 문제를 피하기 위해 127.0.0.1에 넣을 수는 없습니까? 클라이언트에서 우리는 127.0.0.1을 aerospike에서 데이터를 읽습니다. – rahijain

+2

네임 스페이스 구성을 변경하면 다시 시작해야합니다. 구성 세부 사항과 관련하여 토론 포럼 http://discuss.aerospike.com에 질문을 게시하십시오. 모든 주제에 할당 된 devOps, 서버 및 클라이언트 엔지니어가 있으며 빠른 응답을 얻습니다. –