Replikacja Multi Leader [Replikacja 3/5]

Jak sama nazwa wskazuje, to podejście zakłada, że liderów jest wielu, czyli każda replika przyjmuje żądania zapisu i odczytu. Oznacza to, że każdy węzeł jest liderem i followerem. Ten sposób możesz również spotkać pod nazwami master/master albo active/active.

Multi-leader zwykle nie jest stosowany, kiedy replikacja odbywa się tylko w jednym centrum danych, a to z dwóch powodów. Po pierwsze nie rozwiązuje problemu skrócenia czasu odpowiedzi, a po drugie w większości przypadków aplikacje serwują wielokrotnie więcej readów niż write’ów. Nie ma zatem sensu borykać się z kolejnymi problemami, które rodzi podejście master/master. Te kolejne kłody pod nogi to między innymi konflikty zapisów. Ten problem jest bardziej powszechny, niż Ci się może wydawać. Jeśli na przykład w aplikacji kalendarz wyedytujesz wydarzenie, gdy nie masz dostępu do internetu, a następnie przed odzyskaniem sieci zrobisz to online na komputerze, wówczas właśnie występuje konflikt zapisu. Jest to taka sytuacja, kiedy jeden zapis nie był świadom drugiego. 

Co innego, kiedy chcemy rozproszyć nasze dane po całym globie. Zalety master/master to już wspomniana mniejsza latencja dla wielu centrów danych oraz fakt, że kiedy jeden z węzłów padnie, nie wpływa to na pracę pozostałych.

Topologie połączeń między liderami

W jaki sposób węzły się synchronizują? Czy każdy węzeł jest połączony ze wszystkimi pozostałymi? To tylko jedna ze strategii. Kiedy padnie jeden węzeł w tej topologii all-to-all, nie zaburzy on działania pozostałych, w przeciwieństwie do topologii gwiazdy (jeden węzeł synchronizuje pozostałe) i circular (każdy węzeł odbiera od jednego węzła i przesyła też tylko do jednego). Natomiast wadą podejścia all-to-all jest fakt, że część połączeń może być szybsza, przez co zapisy mogą przyjść w złej kolejności. 

Topologie replikacji

Źródła 

  1. Designing Data Intensive Applications – M. Kleppmann
  2. Replikacja danych – Wikipedia

Udostępnij ten wpis


Dobrnąłeś do końca. Jeśli ten artykuł był dla Ciebie wartościowy i chcesz otrzymywać informacje o kolejnych, to zapraszam Cię do zapisania się do listy mailingowej. Gwarantuję zero spamu.

Radek.

Inne artykuły

Partycjonowanie bazy danych okładka

Partycjonowanie bazy danych

Partycjonowanie pozwala podzielić tabelę na mniejsze części, gdzie każda z nich może się znajdować na innym serwerze. Zobacz, jak to działa oraz dlaczego jest to …

2 thoughts on “Replikacja Multi Leader [Replikacja 3/5]

Comments are closed.