Informacje o współczynniku replikacji i spójności Cassandra

Edge for Private Cloud w wersji 4.16.09

Informacje o współczynniku replikacji Cassandra

System Cassandra przechowuje repliki danych w wielu węzłach, aby zapewnić niezawodność i odporność na awarie. Strategia replikacji każdej przestrzeni kluczy Edge określa węzły, w których są repliki umieszczonego tekstu.

Łączna liczba replik przestrzeni kluczy w klastrze Cassandra jest nazywana współczynnika replikacji spacji. Współczynnik replikacji wynoszący 1 oznacza, że istnieje tylko jeden każdego wiersza w gromadzie Cassandra. Współczynnik replikacji wynoszący 2 oznacza, że mamy 2 i z których każda znajduje się w innym węźle. Wszystkie repliki są tak samo ważne; nie ma repliki podstawowej ani głównej.

W systemie produkcyjnym, w którym w każdym centrum danych znajdują się co najmniej trzy węzły Cassandra, domyślna wartość współczynnik replikacji przestrzeni kluczy Edge wynosi 3. Zasadniczo współczynnik replikacji nie powinna przekraczać liczby węzłów Cassandra w klastrze.

Wykonaj poniższą procedurę, aby wyświetlić schemat Cassandra, który pokazuje współczynnik replikacji dla każdego obszaru klawiszy Edge:

  1. Zaloguj się w węźle Cassandra.
  2. Uruchom to polecenie:
    &gt; /opt/apigee/apigee-cassandra/bin/cassandra-cli -h $(nazwa hosta -i) <<< "program schemat;

    Gdzie $(nazwa hosta -i) z adresem IP węzła Cassandra. Możesz też zastąpić ciąg $(nazwa hosta -i) adresem IP do węzła.

W przypadku każdej przestrzeni klawiszy zostaną wyświetlone dane wyjściowe w postaci:

create keyspace kms
  with placement_strategy = 'NetworkTopologyStrategy'
  and strategy_options = {dc-1 : 3}
  and durable_writes = true;

Widać, że dla centrum danych 1, dc-1, domyślny współczynnik replikacji instancji kms to trzy klawisze z instalacją z 3 węzłami Cassandra.

Jeśli dodasz do klastra dodatkowe węzły Cassandra, domyślny współczynnik replikacji nie będzie dotkniętych problemem. Jeśli jednak zdecydujesz się zwiększyć współczynnik replikacji, skontaktuj się z Apigee.

Jeśli na przykład zwiększysz liczbę węzłów Cassandra do 6, ale pozostawisz replikację nie gwarantuje, że wszystkie węzły Cassandra mają kopie wszystkich danych. Jeśli jeśli dojdzie do awarii węzła, wyższy współczynnik replikacji oznacza większe prawdopodobieństwo, że dane w danym węźle istnieje w jednym z pozostałych węzłów. Wadą wyższego współczynnika replikacji jest i opóźnienia w zapisach danych.

Informacje o poziomie spójności Cassandra

Poziom spójności Cassandra jest zdefiniowany jako minimalna liczba węzłów Cassandra, które muszą musi potwierdzić operację odczytu lub zapisu, zanim będzie można ją 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 obsługi operacji odczytu i zapisu, procesora wiadomości i zarządzania Węzły serwera zwykle używają wartości Cassandra LOCAL_QUORUM do określ poziom spójności przestrzeni kluczy. Niektóre przestrzenie klawiszy są jednak tak zdefiniowane, 1.

Sposób obliczania wartości LOCAL_QUORUM dla centrum danych:

LOCAL_QUORUM = (replication_factor/2) + 1 

Jak opisano powyżej, domyślny współczynnik replikacji dla środowiska produkcyjnego Edge z trzy węzły Cassandra to trzy. Dlatego domyślna wartość 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 danych są uwzględniane. musi odpowiedzieć na operację odczytu/zapisu, aby operacja została wykonana. Dla 3 węzłów Klaster Cassandra może więc tolerować niedziałający 1 węzeł na centrum danych.

Dzięki określeniu poziomu spójności na LOCAL_QUORUM przeglądarka Edge pozwala uniknąć opóźnień wymagane przez walidację operacji na wielu centrach danych. Jeśli w kombinacji klawiszy o nazwie Cassandra pojawia się QUORUM jako poziom spójności. Operacje odczytu/zapisu powinny mieć są weryfikowane we wszystkich centrach danych.

Aby wyświetlić poziom spójności używany przez procesor komunikatów brzegowych lub serwer zarządzania węzłów:

  1. Zaloguj się w węźle procesora wiadomości.
  2. Przejdź do katalogu /opt/apigee/edge-message-processor/conf:
    &gt; cd /opt/apigee/edge-message-processor/conf
  3. Aby zapewnić spójność zapisu:
    &gt; grep -ri &quot;write.consistencylevel&quot; *
  4. Aby zapewnić spójność odczytu:
    &gt; grep -ri „read.consistencylevel” *
  5. Zaloguj się w węźle serwera zarządzania.
  6. Przejdź do katalogu /opt/apigee/edge-management-server/conf:
    &gt; cd /opt/apigee/edge-management-server/conf
  7. Powtórz kroki 3 i 4.

Jeśli dodasz do klastra dodatkowe węzły Cassandra, nie wpłynie to na poziom spójności. Jeśli jednak zdecydujesz się zmienić poziom spójności, skontaktuj się z Apigee.