Cassandra çoğaltma faktörü ve tutarlılık düzeyi hakkında

Cassandra çoğaltma faktörü hakkında

Cassandra, güvenilirlik ve hata toleransı sağlamak için veri replikalarını birden fazla düğümde depolar. Her Edge tuş alanı için çoğaltma stratejisi, replikaların yer alır.

Bir Cassandra kümesindeki bir anahtar alanı için oluşturulan toplam replika sayısına keyspace'in çoğaltma faktörünü kullanın. Çoğaltma faktörünün bir olması, sayfada yalnızca tek bir her satırın kopyasını oluşturur. Çoğaltma faktörünün iki olması, iki hesap olduğu anlamına gelir her kopya farklı bir düğümde yer alır. Tüm replikalar eşit derecede önemlidir; birincil veya ana replika yoktur.

Her veri merkezinde üç veya daha fazla Cassandra düğümü bulunan bir üretim sisteminde Edge tuş alanı için çoğaltma faktörü üçtür. Genel bir kural olarak, çoğaltma faktörü kümedeki Cassandra düğümlerinin sayısını aşmamalıdır.

Burada, çoğaltma faktörünü gösteren Cassandra şemasını görüntülemek için aşağıdaki prosedürü kullanın birini tıklayın:

  1. Bir Cassandra düğümüne giriş yapın.
  2. Aşağıdaki komutu çalıştırın:
    /opt/apigee/apigee-cassandra/bin/cassandra-cli -h $(hostname -i) <<< "show schema;"
    .

    Burada $(hostname -i), Cassandra düğümünün IP adresine çözümlenir. Ya da $(hostname -i) yerine düğümün IP adresini yazın.

Her tuş alanı için şu biçimde çıkış görürsünüz:

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

Bu veri merkezi 1 için dc-1, veri merkezi 1 için varsayılan çoğaltma faktörüdür. kms tuş alanı, iki Cassandra düğümü bulunuyor.

Kümeye ek Cassandra düğümleri eklerseniz varsayılan çoğaltma faktörü yardımcı olabilir.

Örneğin, Cassandra düğümlerinin sayısını altıya çıkarır, ancak çoğaltma işlemini tüm Cassandra düğümlerinde verilerin bir kopyasının bulunduğundan emin olamazsınız. Çoğaltma faktörü yükseldiğinde, düğümdeki verilerin doğrulanma olasılığı da diğer düğümlerden birinde var. Daha yüksek bir replikasyon faktörünün olumsuz tarafı, gecikme olabilir.

Cassandra tutarlılık düzeyi hakkında

Cassandra tutarlılık düzeyi, olması gereken minimum Cassandra düğümü sayısı işlemin başarılı olarak kabul edilmesi için önce bir okuma veya yazma işlemini onaylamalıdır. Farklı Edge tuş alanlarına farklı tutarlılık seviyeleri atanabilir.

Okuma ve yazma işlemleri için Cassandra'ya bağlanırken, Mesaj İşleyici ve Yönetim Sunucu düğümleri genellikle LOCAL_QUORUM değerindeki Cassandra değerini bir tuş alanı için tutarlılık düzeyini belirtin. Ancak bazı tuş alanları tutarlılık seviyesi bir.

Bir veri merkezi için LOCAL_QUORUM değeri şu şekilde hesaplanır:

LOCAL_QUORUM = (replication_factor/2) + 1

Yukarıda açıklandığı gibi, üç Cassandra düğümü üçtür. Dolayısıyla, varsayılan LOCAL_QUORUM değeri = (3/2) +1 = 2 (değer bir tam sayıya yuvarlanır).

LOCAL_QUORUM = 2 olduğunda, verilerdeki üç Cassandra düğümünden en az ikisi merkez, işlemin başarılı olması için bir okuma/yazma işlemine yanıt vermelidir. Üç düğüm için Bu nedenle küme, veri merkezi başına bir düğümün çalışmamasına izin verebilir.

Tutarlılık düzeyini LOCAL_QUORUM olarak belirttiğinizde Edge gecikmeyi önler Bu, birden fazla veri merkezindeki işlemleri doğrulamak için gereklidir. Bir tuş alanı Cassandra Tutarlılık düzeyi olarak QUORUM değeri. Okuma/yazma işlemleri için tüm veri merkezlerinde doğrulanmıştır.

Uç İleti İşlemci veya Yönetim Sunucusu düğümlerinin kullandığı tutarlılık düzeyini görmek için:

  1. Bir İleti İşleyen düğümüne giriş yapın.
  2. /opt/Apigee/edge-message-processor/conf dizininde değişiklik yapın:
    cd /opt/apigee/edge-message-processor/conf
    .
  3. Yazma tutarlılığı için:
    grep -ri "write.consistencylevel" *
    .
  4. Okuma tutarlılığı için:
    grep -ri "read.consistencylevel" *
    .
  5. Yönetim Sunucusu düğümüne giriş yapın.
  6. /opt/Apigee/edge-management-server/conf dizininde değişiklik yapın:
    cd /opt/apigee/edge-management-server/conf
    .
  7. 3. ve 4. adımları tekrarlayın.

Kümeye ek Cassandra düğümleri eklerseniz tutarlılık düzeyi etkilenmez.