Edge for Private Cloud w wersji 4.17.09
Informacje o współczynniku replikacji Cassandra
Cassandra przechowuje kopie danych na wielu węzłach, aby zapewnić niezawodność i odporność na błędy. Strategia replikowania dla każdego klucza przestrzeni Edge określa węzły, na których umieszczane są kopie.
Łączna liczba replik przestrzeni kluczy w klastrze Cassandra jest nazywana współczynnikiem replikacji przestrzeni kluczy. Współczynnik replikowania 1 oznacza, że w klastrze Cassandra jest tylko jedna kopia każdego wiersza. Współczynnik replikacji wynoszący 2 oznacza, że istnieją 2 kopie każdego wiersza, z których każda znajduje się w innym węźle. Wszystkie repliki są równie ważne. Nie ma repliki głównej ani głównej.
W systemie produkcyjnym z co najmniej 3 węzłami Cassandra w każdym centrum danych domyślny czynnik replikacji dla przestrzeni kluczy Edge wynosi 3. Ogólnie współczynnik replikacji nie powinien przekraczać liczby węzłów Cassandra w klastrze.
Aby wyświetlić schemat Cassandra, który pokazuje współczynnik replikowania dla każdego klucza przestrzeni Edge:
- Zaloguj się na węźle Cassandra.
- Uruchom to polecenie:
> /opt/apigee/apigee-cassandra/bin/cassandra-cli -h $(hostname -i) <<< "show schema;"
gdzie $(hostname -i) przekierowuje do adresu IP węzła Cassandra. Możesz też zastąpić parametr $(hostname -i) adresem IP węzła.
W przypadku każdego klucza zobaczysz dane wyjściowe w postaci:
create keyspace kms with placement_strategy = 'NetworkTopologyStrategy' and strategy_options = {dc-1 : 3} and durable_writes = true;
Jak widać, w przypadku centrum danych 1 (dc-1) domyślny współczynnik replikacji przestrzeni kluczy kms wynosi 3 w przypadku instalacji z 3 węzłami Cassandra.
Jeśli dodasz do klastra dodatkowe węzły Cassandra, domyślny współczynnik replikacji nie ulegnie zmianie.
Jeśli na przykład zwiększysz liczbę węzłów Cassandra do 6, ale pozostawisz współczynnik replikacji na 3, nie zagwarantujesz, że wszystkie węzły Cassandra mają kopie wszystkich danych. Jeśli węzeł przestanie działać, większy współczynnik replikowania oznacza większe prawdopodobieństwo, że dane na tym węźle znajdują się na jednym z pozostałych węzłów. Wadą wyższego współczynnika replikacji jest dłuższy czas oczekiwania na zapis danych.
Poziom spójności Cassandra
Poziom spójności Cassandra to minimalna liczba węzłów Cassandra, które muszą potwierdzić operację odczytu lub zapisu, aby można ją było uznać za udaną. Do różnych przestrzeni klawiszy Edge można przypisać różne poziomy spójności.
Podczas łączenia się z Cassandra w celu wykonywania operacji odczytu i zapisu, węzły procesora wiadomości i serwera zarządzania zwykle używają wartości Cassandra LOCAL_QUORUM w celu określenia poziomu spójności przestrzeni kluczy. Niektóre przestrzenie kluczy są jednak zdefiniowane tak, aby używać poziomu spójności 1.
Obliczenie wartości atrybutu LOCAL_QUORUM dla centrum danych:
LOCAL_QUORUM = (replication_factor/2) + 1
Jak wspomniano powyżej, domyślny współczynnik replikacji dla środowiska produkcyjnego usługi CDN Edge z 3 węzłami Cassandra wynosi 3. Dlatego domyślna wartość parametru LOCAL_QUORUM = (3/2) +1 = 2 (wartość jest zaokrąglana w dół do liczby całkowitej).
Gdy LOCAL_QUORUM = 2, co najmniej 2 z 3 węzłów Cassandra w centrum danych musi odpowiedzieć na operację odczytu/zapisu, aby operacja się powiodła. W przypadku klastra Cassandra z 3 węzłami klaster może tolerować awarię jednego węzła na centrum danych.
Określając poziom spójności jako LOCAL_QUORUM, Edge eliminuje opóźnienia wymagane do sprawdzania operacji w wielu centrach danych. Jeśli przestrzeń kluczy używa wartości QUORUM jako poziomu spójności, operacje odczytu/zapisu musiałyby być weryfikowane we wszystkich centrach danych.
Aby sprawdzić poziom spójności używany przez węzły przetwarzania wiadomości na serwerach brzegowych lub serwera zarządzania:
- Zaloguj się na węźle Message Processor.
- Przejdź do katalogu /opt/apigee/edge-message-processor/conf:
> cd /opt/apigee/edge-message-processor/conf - W przypadku spójności zapisu:
> grep -ri "write.consistencylevel" * - W przypadku spójności odczytu:
> grep -ri "read.consistencylevel" * - Zaloguj się na węźle serwera zarządzania.
- Przejdź do katalogu /opt/apigee/edge-management-server/conf:
> cd /opt/apigee/edge-management-server/conf - Powtórz kroki 3 i 4.
Dodanie do klastra dodatkowych węzłów Cassandra nie ma wpływu na poziom spójności.