Private Cloud için Edge v. 4.17.09
Cassandra çoğaltma faktörü hakkında
Cassandra, güvenilirlik ve hatadan etkilenmeme özelliğini sağlamak için veri kopyalarını birden fazla düğümde depolar. Her Edge anahtar alanı için çoğaltma stratejisi, replikaları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. Çoğaltma faktörünün bir olması, 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 yönlendirilir. Dilerseniz $(hostname -i) yerine düğümün IP adresini de kullanabilirsiniz.
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;
1. veri merkezi (dc-1) 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.
Okuma ve yazma işlemleri için Cassandra'ya bağlanırken, Mesaj İşleyici ve Yönetim Sunucusu düğümleri genellikle bir anahtar alanının tutarlılık düzeyini belirtmek için LOCAL_QUORUM öğesinin 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) 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şlemlerin doğrulanması için gereken gecikmeyi önler. Bir anahtar alanında tutarlılık düzeyi olarak Cassandra QUORUM değeri kullanıldıysa okuma/yazma işlemlerinin tüm veri merkezlerinde doğrulanması gerekir.
Edge Mesaj İşleyen veya Yönetim Sunucusu düğümleri tarafından kullanılan tutarlılık düzeyini görmek için:
- Mesaj İş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 ek Cassandra düğümleri eklerseniz tutarlılık düzeyi etkilenmez.