Cassandra 복제 요인 및 일관성 수준 정보

Private Cloud용 Edge v. 4.16.09

Cassandra 복제 인수 정보

Cassandra는 안정성과 내결함성을 보장하기 위해 데이터 복제본을 여러 노드에 저장합니다. 각 에지 키스페이스의 복제 전략에 따라 복제본이 있는 노드가 결정됩니다. 있습니다.

Cassandra 클러스터 전반의 키스페이스에 대한 총 복제본 수를 키스페이스의 복제 인수. 복제 인수가 1이면 사본에 저장됩니다 복제 인수가 2이면 각 행의 사본이며, 여기서 각 사본은 다른 노드에 있습니다. 모든 복제본이 동일하게 중요합니다. 기본 또는 마스터 복제본이 없습니다

각 데이터 센터에 3개 이상의 Cassandra 노드가 있는 프로덕션 시스템에서는 에지 키스페이스의 복제 인수는 3입니다 일반적으로 복제 인수는 클러스터의 Cassandra 노드 수를 초과하지 않아야 합니다.

다음 절차에 따라 복제 인수를 보여주는 Cassandra 스키마를 봅니다. 각 에지 키스페이스에 대해 다음을 수행합니다.

  1. Cassandra 노드에 로그인합니다.
  2. 다음 명령어를 실행합니다.
    &gt; /opt/apigee/apigee-cassandra/bin/cassandra-cli -h $(hostname -i) <<< "보기 schema;"

    $(hostname -i)이 확인됩니다. Cassandra 노드의 IP 주소로 전송됩니다 또는 $(hostname -i)을 노드입니다

각 키스페이스에 대해 다음과 같은 형식으로 출력이 표시됩니다.

create keyspace kms
  with placement_strategy = 'NetworkTopologyStrategy'
  and strategy_options = {dc-1 : 3}
  and durable_writes = true;

데이터 센터 1의 경우 dc-1kms 키스페이스는 3개의 Cassandra 노드로 설치할 수 있습니다

클러스터에 Cassandra 노드를 추가하는 경우 기본 복제 인수는 사용되지 않습니다. 있습니다. 그러나 복제 계수를 늘리려면 Apigee를 사용하세요

예를 들어 Cassandra 노드 수를 6개로 늘리고 복제는 그대로 두는 경우 모든 Cassandra 노드에 모든 데이터의 사본이 있는지 확인하지 않습니다. 만약 복제 계수가 높을수록 노드의 데이터가 장애로 인해 포드가 나머지 노드 중 하나에 있는지 확인할 수 있습니다 복제 계수가 높으면 지연 시간을 줄일 수 있습니다

Cassandra 일관성 수준 정보

Cassandra 일관성 수준은 Cassandra 노드의 최소 개수를 읽기 또는 쓰기 작업을 확인해야 작업이 성공한 것으로 간주될 수 있습니다. 서로 다른 Edge 키스페이스에 서로 다른 일관성 수준을 할당할 수 있습니다.

읽기 및 쓰기 작업, 메시지 프로세서 및 관리를 위해 Cassandra에 연결할 때 서버 노드는 일반적으로 Cassandra 값 LOCAL_QUORUM을 사용하여 키스페이스의 일관성 수준을 지정할 수 있습니다. 그러나 일부 키스페이스는 1로 설정합니다

데이터 센터의 LOCAL_QUORUM 값을 계산하는 방법은 다음과 같습니다.

LOCAL_QUORUM = (replication_factor/2) + 1 

위에서 설명한 대로 3개의 Cassandra 노드가 있습니다 따라서 LOCAL_QUORUM의 기본값은 = (3/2) +1 = 2 (값을 정수로 내림).

LOCAL_QUORUM = 2이면 데이터에 있는 3개의 Cassandra 노드 중 최소 2개 읽기/쓰기 작업에 응답해야 합니다. 노드가 3개인 Cassandra 클러스터를 사용하면 클러스터가 데이터 센터당 한 개의 노드가 중단되는 것을 허용할 수 있었습니다.

일관성 수준을 LOCAL_QUORUM으로 지정하면 Edge에서 데이터 센터 운영의 유효성을 검사하는 데 필요합니다. 키스페이스에서 Cassandra를 사용한 경우 QUORUM 값을 일관성 수준으로 사용한다면 읽기/쓰기 작업은 다음과 같아야 합니다. 검증합니다

에지 메시지 프로세서 또는 관리 서버에서 사용되는 일관성 수준을 확인합니다. 노드:

  1. 메시지 프로세서 노드에 로그인합니다.
  2. /opt/apigee/edge-message-processor/conf 디렉터리로 변경합니다.
    &gt; cd /opt/apigee/edge-message-processor/conf
  3. 쓰기 일관성:
    &gt; grep -ri &quot;write.consistencylevel&quot; *
  4. 읽기 일관성:
    &gt; grep -ri 'read.consistencylevel' *
  5. 관리 서버 노드에 로그인합니다.
  6. /opt/apigee/edge-management-server/conf 디렉터리로 변경합니다.
    &gt; cd /opt/apigee/edge-management-server/conf
  7. 3단계와 4단계를 반복합니다.

클러스터에 Cassandra 노드를 추가해도 일관성 수준은 영향을 받지 않습니다. 그러나 일관성 수준을 변경하려면 Apigee에 문의하세요.