2012-04-26 3 views
0

안녕하세요 -로드 주문 처리 엔진을 작성하고 있습니다. 모든 클러스터 노드는 일부 계약을 처리하고 로컬 파일에 작업 로그를 작성합니다. 이 파일은 다른 노드 (결함 허용 용)에 분산되어 있어야합니다. 노드가 실패하면 복제 노드 중 하나에서 가능한 빨리 상태를 복원하는 방법이 있어야합니다. 현재 cassandra를 사용하고 있지만 파티셔너에는 몇 가지 문제가 있습니다. 특정 테이블에 어떤 노드를 사용해야 하는지를 지정할 방법이 없습니다.데이터를 효율적으로 복제하는 방법

그래서 우리는 파일을 복제해야합니다. 해결책이 있습니까?

편집 : 최대로드는 초당 약 200k 레코드입니다.

+0

파일 대신 nfs 또는 데이터베이스가 필요합니까? – Luca

+0

아마도 복제 된 SAN을 사용할 수 있습니다. 그것들은 비싸지 만 여러분의 시스템 또한 비판적 인 것처럼 보입니다. – tom

+0

infinispan을 살펴 보시겠습니까? http://www.jboss.org/infinispan.html – Justin

답변

0

귀하의 카산드라 문제와 관련하여 : 테이블/컬럼마다 다른 복제 레이아웃을 가질 수는 없지만 키 공간마다 다른 레이아웃을 가질 수 있습니다. 여기에는 당신과 같은 경우가 포함됩니다. 노드 S1이 데이터 일부를 전적으로 담당하고 다른 일부를 S2가 다른 부분을 담당하게하려는 경우입니다.

S1과 S2를 Cassandra와 다른 PropertyCopySnitch 등으로 표현하면 (예 : PropertyFileSnitch 등을 통해) 키 공간 K1에 대해 S1에 X 사본이 있고 S2에는 키 복사본이 없도록 구성 할 수 있으며 키 공간 K2에 대해서도 마찬가지입니다.

+0

감사합니다. 좋아 보여. 나는이 해결책을 시도 할 것이다. – Fuud

관련 문제