Private Cloud için Edge v4.18.05
Cassandra çoğaltma faktörü hakkında
Cassandra, güvenilirlik ve hatadan etkilenmeme sağlamak için veri kopyalarını birden fazla düğümde depolar. Her Edge anahtar alanı için çoğaltma stratejisi, kopyaların yerleştirildiği düğümleri belirler.
Bir Cassandra kümesinde bir anahtar alanı için toplam kopya sayısı, anahtar alanının çoğaltma faktörü olarak adlandırılır. Bir olan çoğaltma faktörü, Cassandra kümesinde her satırın yalnızca bir kopyasının bulunduğu anlamına gelir. İki olan çoğaltma faktörü, her satırın iki kopyasının olduğu ve her kopyanın farklı bir düğümde bulunduğu anlamına gelir. 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 anahtar alanı için varsayılan ç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 anahtar alanı için çoğaltma faktörünü gösteren Cassandra şemasını görüntülemek üzere aşağıdaki prosedürü uygulayı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. Dilerseniz$(hostname -i)
yerine düğümün IP adresini de kullanabilirsiniz.
Her anahtar alanı için aşağıdaki biçimde bir çıkış görürsünüz:
create keyspace kms with placement_strategy = 'NetworkTopologyStrategy' and strategy_options = {dc-1 : 3} and durable_writes = true;
dc-1
veri merkezi için kms
anahtar alanının varsayılan çoğaltma faktörünün, üç Cassandra düğümü olan bir kurulumda üç olduğunu görebilirsiniz.
Kümeye başka Cassandra düğümleri eklerseniz varsayılan çoğaltma faktörü etkilenmez.
Örneğin, Cassandra düğümlerinin sayısını altıya çıkarır ancak çoğaltma faktörünü üçte bırakırsanız tüm Cassandra düğümlerinde tüm verilerin bir kopyasının bulunduğundan emin olmazsınız. Bir düğüm devre dışı kalırsa daha yüksek bir çoğaltma faktörü, düğümdeki verilerin kalan düğümlerden birinde bulunma olasılığının daha yüksek olduğu anlamına gelir. Daha yüksek bir çoğaltma faktörünün dezavantajı, veri yazma işlemlerinde gecikme süresinin artmasıdır.
Cassandra tutarlılık düzeyi hakkında
Cassandra tutarlılık düzeyi, bir okuma veya yazma işleminin başarılı olarak kabul edilebilmesi için işlemin onaylanması gereken minimum Cassandra düğümü sayısı olarak tanımlanır. Farklı Edge anahtar alanlarına farklı tutarlılık düzeyleri atanabilir.
Mesaj İşleyen ve Yönetim Sunucusu düğümleri, okuma ve yazma işlemleri için Cassandra'ya bağlanırken genellikle bir anahtar alanı için tutarlılık düzeyini belirtmek üzere LOCAL_QUORUM
Cassandra değerini kullanır. Ancak bazı anahtar alanları, bir tutarlılık düzeyi kullanacak şekilde tanımlanır.
Bir veri merkezi için LOCAL_QUORUM
değerinin hesaplanması:
LOCAL_QUORUM = (replication_factor/2) + 1
Yukarıda açıklandığı gibi, üç Cassandra düğümü olan bir Edge üretim ortamının varsayılan çoğaltma faktörü üçtür. Bu nedenle, LOCAL_QUORUM
=
(3/2) +1 = 2 (değer tam sayıya yuvarlanır) değerinin varsayılan değeridir.
LOCAL_QUORUM
= 2 olduğunda, işlemin başarılı olması için veri merkezindeki üç Cassandra düğümünden en az ikisinin bir okuma/yazma işlemine yanıt vermesi gerekir. Üç düğümlü bir Cassandra kümesinde, küme her veri merkezi için bir düğümün kapalı olmasına izin verebilir.
Edge, tutarlılık düzeyini LOCAL_QUORUM
olarak belirterek birden fazla veri merkezinde işlemleri doğrulayarak gereken gecikmeyi önler. Bir anahtar alanı, tutarlılık düzeyi olarak Cassandra QUORUM
değerini kullanıyorsa okuma/yazma işlemlerinin tüm veri merkezlerinde doğrulanması gerekir.
Edge İleti İşleyen veya Yönetim Sunucusu düğümleri tarafından kullanılan tutarlılık düzeyini görmek için:
- Mesaj işleyici düğümüne giriş yapın.
- /opt/apigee/edge-message-processor/conf dizinine gidin:
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 dizinine gidin:
cd /opt/apigee/edge-management-server/conf
- 3. ve 4. adımları tekrarlayın.
Kümeye başka Cassandra düğümleri eklerseniz tutarlılık düzeyi etkilenmez.