Geograficznie rozproszone MySQL

Autor:teshanee

Pozdrowienia dla wszystkich.

Istnieje potrzeba geograficznego rozpowszechnienia projektu i rozpoczęcia pracy z jednym z jego komponentów: MySQL. Interesującymi odpowiedziami są ci, którzy ściśle współpracowali z tą bazą danych, a nie teoretycznie wiedzą, jak działają różne geograficznie rozproszone systemy równoważenia.

Obecny schemat wygląda następująco: jeden serwer WWW i dwa serwery baz danych w trybie master-slave. Tylko żądania odczytu trafiają do jednego, głównie do zapisu do drugiego, oba serwery baz danych są w pobliżu i są połączone krzyżem. Istnieje pomysł, aby uczynić system nieco bardziej skomplikowanym i uruchomić kilka kolejnych serwerów w innym kraju, jednocześnie konfigurując replikację bazy danych. Kanały są dobre tu i tam, ale opóźnienia są już większe niż w przypadku serwerów pop-ass ass. Kto wdrożył takie schematy: co możesz powiedzieć?

Czy naprawdę istnieją jakieś znane problemy? Być może ruch replikacji może zostać naciśnięty, aby zapisać kanał? Czy warto używać ssl wbudowanego w MySQL, czy lepiej jest spakować wszystko w OpenVPN? Jakie podwodne (lub nawet całkowicie powierzchniowe) kamienie zostaną napotkane, jeśli dodamy do tego mistrza? Kto powie o typach baz danych w MySQL?

Dodam, że przede wszystkim wiedza praktyczna jest oczywiście bardziej interesująca niż wiedza teoretyczna.

Komentarze:
VPN jest technicznym powodem przestojów. To nie jest rozwiązanie. Zadaj pytanie, aby uwolnić hosting. Nie można tu tworzyć klastrów. Pytanie jest stare, czytałem o tym po raz pierwszy. - s

Odpowiedzi

hestia23
W przeszłości istniał jeden obwód master vs slave w różnych regionach. Zadanie równoważenia na poziomie podstawowym nie zostało rozwiązane, dostęp był w większości lokalny. Możesz żyć, ale, jak już zauważyłeś, replikacja może pozostawać w tyle, i robi to nierównomiernie. Kolejna prowizja - kanały, suka, wciąż nie tak niezawodna, jak byśmy chcieli. Brakujące połączenie między serwerami - replika wstała. Z tego samego powodu dość sporadycznie zniknęła możliwość napisania czegoś do mistrza "z daleka". Tak więc, w każdym razie, radzę przede wszystkim, aby wprowadzić co najmniej najprostszy monitoring i spróbować zrozumieć, jak bardzo to się zmieni w konkretnym przypadku i ocenić, czy jest to odpowiednie. Jeśli masz wykresy opóźnień replikacji, kontrolę dostępności kreatora od każdego punktu, z którego piszesz - łatwiej będzie żyć, ale prostsze, ale bardziej przewidywalne :)

Mogą występować również problemy z pływającym kodem, który nie oczekuje opóźnień. Załóżmy, że nowy użytkownik jest zarejestrowany (uruchamiasz go w głównej bazie danych), ale naprawdę nie możesz nic zrobić, ponieważ jego dane nie dotarły do ​​niewolnika. Ten problem wygląda dość głupio, ale może być więcej przebiegłości jego przejawów.
eric dawson
Serwer proxy MySQL - za pomocą tego produktu możliwa jest redystrybucja obciążenia dla serwerów MySQL, w tym. konfiguruj złożone schematy z rozproszonymi bazami danych.

 dev.mysql.com/downloads/mysql-proxy/
Odpowiedzi:
To częściowo rozwiązuje problemy, które usunąłem. - mike auteri
missy marriott
Kto powie coś o typach baz danych w MySQL?

Oznacza silnik = NDB? To zdecydowanie nie dla ciebie. NDB zakłada tylko, że maszyny są obok siebie i są dobrze podłączone ...
juli simon thomas
Mieliśmy ~ 10 godzin rekordowego czasu na replikację master-master, czyli ~ 900 MB. Kanały i żelazko zdecydowanie nie były słabym punktem. Coś w tym stylu.
kirsten
Teraz patrzę na reklamę DRBD-proxy na ten temat.
tiffany mcelmurry
Jeśli rozdzielanie geograficzne jest wykonywane w celu przyspieszenia dostępu dla użytkowników lokalnych (te, do których zdalne serwery baz danych są również zapleczami), najlepszą rzeczą jest podzielenie bazy danych na dwie części.
Jedna część "rdzenia", która często się synchronizuje, druga - lokalne pączkowanie geograficzne, które w pewien sposób samo z siebie.
I które można zsynchronizować bez paranoi. Co znacznie ułatwia pracę.
Najlepszy ORM dla C # :: DoubleVPN zrób to sam. Czy to możliwe? :: Doradztwo na temat OpenSSL :: Książki o Zend Framework :: Jakiej książki zacząć naukę Java?
Zostaw odpowiedź
Linki