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

ML w AWS – Sagemaker Autopilot

Automatyczne tworzenie modeli uczenia maszynowego z pełną widocznością w usłudze AWS Sagemaker – korzyści z wygenerowanego Jupyter Notebooka.

ML w AWS – Sagemaker Studio – IDE w przeglądarce

Sagemaker Studio – interaktywne środowisko dla Data Scientist. Z Jupyter Notebooks na pokładzie, oferuje współpracę, śledzenie eksperymentów i integrację z systemem kontroli wersji. Przegląd quasi …

ML w AWS – wstęp do usługi Sagemaker

Sagemaker: Wytwarzanie usług ML w chmurze AWS na nowym poziomie Odkryj potężną usługę Sagemaker, która gromadzi wszystkie niezbędne funkcjonalności związane z wytwarzaniem usług uczenia maszynowego w …

Rozwijasz czy produkujesz oprogramowanie?

Opracowywanie przepisów to proces uczenia się metodą prób i błędów. Nie oczekujesz, że pierwsza próba nowego dania wykonana przez szefa kuchni będzie ostatnią. W rzeczywistości …

Lean software development – eliminacja strat

Dowiedz się, jak wyeliminować marnotrawstwo i przyjąć zasady szczupłego rozwoju oprogramowania, aby dostarczyć więcej wartości swoim klientom przy mniejszym nakładzie pracy.

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

Comments are closed.