Skocz do zawartości
magician

Zwiększenie niezawodności, 2 x VPS?

Rekomendowane odpowiedzi

Taki temat.

Korzystam z VPS i rozważam jakie są dostępne rozwiązania, żeby w razie gdyby padł to np. zacząłby serwować strony inny VPS. Z założenia powinny być w innych lokalizacjach. Ale jak to ustawić? Jakiś rozdzielacz ruchu? 3 maszyna do rozdzielania? A jak ona padnie? Co z synchronizacją danych? Usługi chmurowe przy padzie sieci/infrastruktury dostawcy wydają się nie do końca atrakcyjne. Albo się mylę?

 

Jakieś sugestie? Ktoś może się pochwalić jak taki temat rozwiązał?

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Oprzyj swoją infrastrukturę na balansowaniu ruchu, nie na przełączaniu się na inny VPS w razie awarii. Takie przełączanie nie zmienia Twojej sytuacji ponieważ nadal masz jeden wspólny punkt awarii który uśmierci działanie Twoich usług.

 

Najbardziej niezawodne rozwiązanie do balansowania ruchu to round robin DNS. Jak każde rozwiązanie ma swoje wady jednak jego zalety są znacznie ponad nimi. Rozwiązanie to jest wykorzystywane do balansowania ruchu przez gigantów takich jak np. Google.

 

https://www.youtube.com/watch?v=c7W40_bn3Ss

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

@magician rozpocznij analizę od ustalenia dwóch bardzo podstawowych wartości RTO oraz RPO, po ich ustaleniu można zacząć dalsze planowanie.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
Napisano (edytowane)
12 godzin temu, magician napisał:

Ale jak to ustawić? Jakiś rozdzielacz ruchu?

Samo rozdzielenie żądań HTTP to dopiero początek możesz zrobić je w oparciu o np: nginx  lub hproxy:

http://nginx.org/en/docs/http/load_balancing.html
https://www.digitalocean.com/community/tutorials/an-introduction-to-haproxy-and-load-balancing-concepts

 

Do tego dochodzi:

- Np w wypadku replikacji master > sleve zapewnienie podziału zapytań do baz w warstwie PHP. Zapisujesz, updatujesz, kasujesz na masterze. Odczytujesz tylko z slave.

- Obsługa przenoszenia sesji

- Replikacja bazy danych master >salve lub master <> master

- No i samych plików jeśli takowe w sersie przybywają

---

Jeśli chodziło by tylko o automatyczną kopię zapasowe, to IMHO wystarczyła by replikacji bazy danych Master > Slave na zdalnej maszynie oraz synchronizacja  > przenoszenie plików (rsync ) też na zdalną maszynę.

 

Edytowane przez Mion

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

O ile dobrze rozumiem round robin DNS  przerzuca ruch raz na jedno raz na drugie ip. Jesli server pod 1 ip będzie poza zasięgiem to 50% odwiedzających zobaczy tak czy inaczej komunikat o błędzie, tak?

@Mion- przy założeniu replikacji master-slave jak padnie master to i tak jest kiszka. Sesje mogę przerzucić do bazy danych, pytanie na ile wydajna jest replikacja master-master?

Jak idziemy w load balancing to i tak jest jakis element struktury robiący load balancing i to on jak padnie to jest pozamiatane jak mniemam?

@gb1 - na razie rozkminiam temat, żeby się zorientować jakie są dostępne opcje / potencjalne koszty. Jesli ustalimy RTO /RPO na poziomie 15 minut to co? jeśli 30 minut to co? jeśli 1h to jak to zmienia podejście?

 

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
Napisano (edytowane)
11 minut temu, magician napisał:

1 ip będzie poza zasięgiem to 50% odwiedzających zobaczy tak czy inaczej komunikat o błędzie, tak?

Chyba odpowiedź jest oczywista ?

 

11 minut temu, magician napisał:

przy założeniu replikacji master-slave jak padnie master to i tak jest kiszka. Sesje mogę przerzucić do bazy danych, pytanie na ile wydajna jest replikacja master-master?

Jaka kiszka ? Wtedy nie tracisz danych, bo odtwarzasz mastera z slave. A jak fizycznie ci padnie, to już trudno, ale danych nie tracisz.

 

11 minut temu, magician napisał:

Sesje mogę przerzucić do bazy danych, pytanie na ile wydajna jest replikacja master-master?

Do przechowywania sesji możesz użyć  osobnej instancji redisa lub klastrów redisa.

 

11 minut temu, magician napisał:

Jak idziemy w load balancing to i tak jest jakis element struktury robiący load balancing

Serwer wejściowy wspólny dla wszystkich żądań HTTP  lub dedykowane load balancery np https://www.ovh.pl/rozwiazania/ip-load-balancing/

 

 

Edytowane przez Mion

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
2 godziny temu, magician napisał:

Jesli ustalimy RTO /RPO na poziomie 15 minut to co? jeśli 30 minut to co? jeśli 1h to jak to zmienia podejście?

 

Po pierwszy czy rzeczywiście potrzebujesz RTO i RPO o takiej samej wartości ? Czy tak niskie parametry RTP i RPO są dla Ciebie rzeczywiście istotne ?  Wymienione parametry znacząco potrafią zmienić podejście i technologie które wykorzystasz.

 

Czy chcesz podejść do tego typowo biznesowo czy hobbystycznie z założenia "nie potrzebuję ale lubię mieć możliwości" ?

2 godziny temu, Mion napisał:

Wtedy nie tracisz danych, bo odtwarzasz mastera z slave.

 

W zależności od konfiguracji oraz sytuacji utraty danych w proponowanym rozwiązaniu jest jak najbardziej możliwia. Pamiętajmy o tym jak dane są synchronizowane pomiędzy master i slave.

 

2 godziny temu, Mion napisał:

Do przechowywania sesji możesz użyć  osobnej instancji redisa lub klastrów redisa.

 

@Mion dobrze radzi zastanowić się nad innym mechanizmem aniżeli baza do trzymania sesji. Pytanie czy jest realna potrzeba klastra ? Co się stanie jak utracimy sesje ? Czy sesje są tak bardzo istotne w tym rozwiązaniu że muszą być tak chronione ? Istotne jest czy celem jest niezawodność i ciągłość działania (tak rozumiem OP),  a nie wydajność.

 

3 godziny temu, magician napisał:

Jak idziemy w load balancing to i tak jest jakis element struktury robiący load balancing i to on jak padnie to jest pozamiatane jak mniemam?

 

Load balancery możesz także uruchomić w HA, pytanie czy masz rzeczywistą potrzebę ? Będziemy to wiedzieli jak poznamy realne biznesowe założenia dla parametrów RTO oraz RPO.  Innym istotnym elementem przy planowaniu tego typu rozwiązań jest ilość danych które podlegają ochronie oraz jaka jest ich delta dzienna.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
3 minuty temu, gb1 napisał:

 

Po pierwszy czy rzeczywiście potrzebujesz RTO i RPO o takiej samej wartości ? Czy tak niskie parametry RTP i RPO są dla Ciebie rzeczywiście istotne ?  Wymienione parametry znacząco potrafią zmienić podejście i technologie które wykorzystasz.

 

Czy chcesz podejść do tego typowo biznesowo czy hobbystycznie z założenia "nie potrzebuję ale lubię mieć możliwości" ?

Przygotowuję się pod większy projekt gdzie niezawodność będzie miała pewne znaczenie. Chcę wiedzieć jakie technologie są dostępne i mniej więcej oszacować nakłady dla różnych scenariuszy. Chodzi mi mniej więcej o ustalenie że przy np. RTO/RPO do 30 min = takie a takie rozwiązanie RTO/RPO 2h = takie.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

@magician z całym szacunkiem, czy jesteś pewien że z obecną wiedzą jesteś w stanie zrealizować tak ambitny duży projekt ? Sugerowałbym dołączenie do zespołu przynajmniej konsultanta z wiedzą ekspercką w tym zakresie. Jednak ja bym zaczął od ponownej oceny czy podawane parametry RTO oraz RPO są realnie wymagane dla tego projektu.

 

Duże popularne serwisy internetowe często nie posiadają takich wymagań jakie podajesz.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
Napisano (edytowane)

@gb1 rozumiem Twój punkt widzenia i szanuję. Tak, moja wiedza na ten temat jest mała. Pytam  o ten temat żeby się dowiedzieć więcej. Jeśli będę szukał kogoś do ogarnięcia tematu to podstawowa wiedza co jest do zrobienia, co jest możliwe raczej mi pomoże niż przeszkodzi, prawda?

Co do oceny parametrów RTO/RPO nie wiem czy są wyśrubowane czy nie w stosunku do możliwości / kosztów. Dlatego pytam o opcje na tym forum, które w moim mniemaniu służyć ma do dzielenia się wiedzą. Jeżeli masz doświadczenie i chcesz się nim podzielić - super. Jeśli nie - to może ktoś inny.

Edytowane przez magician

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

@magician przecież się staram dzielić, choć może oczekujesz jedynie rozwiązań technicznych, ale według mnie aby zacząć dobierać środki techniczne wpierw należy dobrać założenia biznesowe. Widziałem za dużo przekombinowanych środowisk które po pierwsze nie spełniały wymogów HA jako całość, po drugie przez nie odpowiedni dobór środków technicznych do zamiarów (przerost formy nad treścią) powodowały same w sobie większość problemów.

Podsumowując zacznij od:
1. realne założenia dla parametrów RTO oraz RPO

2. wielkość danych które podlegają ochronie oraz ich delta dzienna (jeśli są to różne obszary danych to z podziałem na grupy)   

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
Napisano (edytowane)
22 godziny temu, magician napisał:

Jeśli nie - to może ktoś inny.

Może ten jegomość : Wydajna architektura wysokiej dostępności - Damian Tylczyński - DrupalCamp Wrocław 2017

https://youtu.be/R6dOLhPsKNo

 

Edytowane przez Mion

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się


  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

×