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.
Her Edge tuş alanı için çoğaltma faktörünü gösteren Cassandra şemasını görüntülemek için aşağıdaki prosedürü kullanın:
- Bir Cassandra düğümüne giriş yapın.
- Aşağıdaki komutu çalıştırın:
/opt/apigee/apigee-cassandra/bin/cqlsh $(hostname -i) [-u
cassuser
-pcasspass
] -e "select keyspace_name, replication from system_schema.keyspaces;"Burada
$(hostname -i)
, Cassandra düğümünün IP adresine çözümlenir. Alternatif olarak,$(hostname -i)
yerine düğümün IP adresini girebilirsiniz.cassuser
: Cassandra kimlik doğrulamasını etkinleştirdiyseniz Cassandra kullanıcı adını iletin. Bu, isteğe bağlıdır ve Cassandra kimlik doğrulamasını etkinleştirmediyseniz atlanabilir.casspass
: Cassandra kimlik doğrulamasını etkinleştirdiyseniz Cassandra şifresini iletin. Bu, isteğe bağlıdır ve Cassandra kimlik doğrulamasını etkinleştirmediyseniz atlanabilir.
Aşağıdakine benzer bir çıkış görürsünüz. Burada her satır bir tuş alanını temsil eder:
keyspace_name | replication kms | {'class': 'org.apache.cassandra.locator.NetworkTopologyStrategy', 'dc-1': '3'} system_distributed | {'class': 'org.apache.cassandra.locator.SimpleStrategy', 'replication_factor': '3'} apprepo | {'class': 'org.apache.cassandra.locator.NetworkTopologyStrategy', 'dc-1': '3'}
Üç Cassandra düğümü olan kurulumda kms tuş alanı için varsayılan çoğaltma faktörünün 1, dc-1 veri merkezi için üç olduğunu görebilirsiniz. Cassandra'nın içindeki belirli anahtar alanları (system, system_schema vb. gibi) için çoğaltma stratejisi ve replika faktörü farklı olabilir. Bu, bilinçli bir sistem davranışıdır.
Kümeye ek Cassandra düğümleri eklerseniz varsayılan çoğaltma faktörü yardımcı 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
dizinine geçin:cd /opt/apigee/edge-message-processor/conf
- Okuma ve yazmanın tutarlılığı için:
grep -ri "consistency.level" *
- Yönetim Sunucusu düğümüne giriş yapın.
/opt/apigee/edge-management-server/conf
dizinine geçin:cd /opt/apigee/edge-management-server/conf
- 3. adımı tekrarlayın.
Kümeye ek Cassandra düğümleri eklerseniz tutarlılık düzeyi etkilenmez.