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:
- Bir Cassandra düğümüne giriş yapın.
- 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:
- Bir İleti İşleyen düğümüne giriş yapın.
- /opt/Apigee/edge-message-processor/conf dizininde değişiklik yapın:
cd /opt/apigee/edge-message-processor/conf
- Yazma tutarlılığı için:
grep -ri "write.consistencylevel" *
- Okuma tutarlılığı için:
grep -ri "read.consistencylevel" *
- Yönetim Sunucusu düğümüne giriş yapın.
- /opt/Apigee/edge-management-server/conf dizininde değişiklik yapın:
cd /opt/apigee/edge-management-server/conf
- 3. ve 4. adımları tekrarlayın.
Kümeye ek Cassandra düğümleri eklerseniz tutarlılık düzeyi etkilenmez.