Wątek przeniesiony 2020-01-31 13:19 z przez somekind.

Niezniszczalna aplikacja? Jak?

Odpowiedz Nowy wątek
2020-01-31 12:25

Rejestracja: 2 lata temu

Ostatnio: 3 miesiące temu

0

Hejka, ostatnio zastanawiałem się co by było gdyby postawić dwie maszyny wirtualne i z palca nadać im ten adres IP, czy w chwili awarii jednej z nich druga od razu dostanie adres i będzie widoczna? Zakładam, że tak ale nurtuje mnie inna rzecz...
Mianowicie co wtedy dzieje się z zapytaniem ?
Jeśli mamy dwie identyczne konfiguracje i nagle jedna umiera a druga wskakuje na jej miejsce to czy przykładowo:
Serwer 1 -> User wchodzi na stronę zaczyna wypełniać formularz
Serwer 1 -> Umiera ;<
Serwer 2 -> Wstaje
User kończy wypełniać formularz i go wysyła.

Pytanie brzmi co się stanie z formularzem? Zostanie odrzucony bez nową maszynę mimo tego, że droga do niej jest taka sama i oprogramowanie również czy może jednak przyjmie dane?

Totalnie nie znalazłem żadnych sensowych artykułów na temat podstawiania dodatkowej maszyny w razie awarii, jak to działa, jak to się robi?

Czy może ktoś polecić odpowiednie źródło z którym muszę się zapoznać?

Pozostało 580 znaków

2020-01-31 12:35

Rejestracja: 5 lat temu

Ostatnio: 8 godzin temu

Lokalizacja: Poznań

4

Od tego są replikacje, bo co jak chcesz mieć takie same dane na tych dwóch serwerach ? Nie możesz mieć dwóch takich samych ip w sieci w jednym czasie, więc jakby jeden był wyłączony to nie będziesz miał synchronizacji danych. Stawiasz sobie bazę, dajesz tam jakiegoś raida żeby to zabezpieczyć, stawiasz drugi serwer do którego się replikuje pierwszy. W momencie wysłania żądania jeśli nie masz odpowiedzi po np. 3 próbach przełączasz się na drugi serwer. To jest pewnie jeden z wielu sposobów.

Pozostało 580 znaków

2020-01-31 12:46
Moderator

Rejestracja: 12 lat temu

Ostatnio: 15 minut temu

Lokalizacja: Wrocław

9

Totalnie nie znalazłem żadnych sensowych artykułów na temat podstawiania dodatkowej maszyny w razie awarii, jak to działa, jak to się robi?

Szukaj informacji pod kątem load balancing oraz database replication.


Pozostało 580 znaków

2020-01-31 13:25

Rejestracja: 2 lata temu

Ostatnio: 3 miesiące temu

0

Chodzi mi o sytuacje w której bazę mam osobno a sama aplikacja jest w 2 kopiach, co się wtedy stanie ? Formularz dotrze do maszyny które wejdzie na jej miejsce i bez problemu skontaktuje się z bazą danych?

Pozostało 580 znaków

2020-01-31 13:27

Rejestracja: 2 lata temu

Ostatnio: 5 dni temu

1
ggie napisał(a):

Chodzi mi o sytuacje w której bazę mam osobno a sama aplikacja jest w 2 kopiach, co się wtedy stanie ? Formularz dotrze do maszyny które wejdzie na jej miejsce i bez problemu skontaktuje się z bazą danych?

Jeśli baza jest gdzieś na zewnątrz, a nie na maszynie która padnie, to tak. Zakładając, że baza też w tym momencie nie padnie :D

edytowany 1x, ostatnio: iksde, 2020-01-31 13:28

Pozostało 580 znaków

2020-01-31 16:04
Moderator

Rejestracja: 16 lat temu

Ostatnio: 4 godziny temu

2

Jeśli wszystko jest stateless i aplikacja nie trzyma lokalnie niczego związanego z sesją usera, to nie ma problemu.


Masz problem? Pisz na forum, nie do mnie. Nie masz problemów? Kup komputer...

Pozostało 580 znaków

2020-01-31 16:54

Rejestracja: 5 lat temu

Ostatnio: 7 godzin temu

9

To o czym piszesz - dwie maszynki "z tym samym IP" (słowo kluczowe: VIP = Virtual IP) odnosi się do architektury Active-Standby (jedna maszynka pracuje, druga się nudzi i czeka na podjęcie pracy w przypadku awarii pierwszej). Maszynki widzą się za pomocą tzw. "heartbeat" (mogą być połączone różnymi ścieżkami fizycznymi - np. dedykowana karta sieciowa + inne niezależne połączenie - np. mitycznym kabelkiem RS232). Pierwsza maszyna podnosi interfejs z VIP i pracuje, druga jak zauważy że pierwsza nie odpowiada, to podnosi interfejs sieciowy z adresem VIP i wysyła "ARP pinga" do gatewaya, tak by gateway zaktualizował sobie "arp cache" i wiedział, że jak przyjdzie request dla VIP, to ma go pokierować pod nowy "MAC adres".

Ogólnie temat rzeka.

Musisz wiedzieć na jakim poziomie chcesz mieć odporność na awarie:

  • requestu
  • sesji
  • serwisu
  • serwera
  • data center

Słowa kluczowe:

  • redundancja :-)
  • High availability
  • Failover
  • Replication
  • Geo-redundancy
  • klastry active-active
  • klastry active-passive
  • load balancing
  • virtual ip
  • network bonding
  • heartbeat
  • split brain
    ...

Jak będziesz wiedział na jakim poziomie musisz (bo chcieć pewnie będziesz chciał dostępność rzędu 99,9999% , ale jak zobaczysz ceny interconnectów dla klastra, to może uznasz, że wcale nie potrzebujesz wysokiej dostępności ;-) ), to pod taki poziom tworzysz architekturę.

edycja:
A i jeszcze jedno. Wirtualizacja dostarcza zupełnie nowych możliwości i rozwiązania dla konkretnych wymagań mogą bazować na wirtualnych sieciach, storagach i funkcjonalnościach oferowanych przez dostawców takich rozwiązań (np. vMotion).

edytowany 2x, ostatnio: yarel, 2020-01-31 16:57
AWS ma mniejszą gwarancję niż 7 dziewiątek, to tylko pokazuje, że to nie jest tanie. - hauleth 2020-02-02 12:38
Osobiście nie wiedziałem systemu, który wymagałaby takiej dostępności i klienta, który by za to płacił i ile mogłoby to wszystko kosztować :) Może jakieś systemy sterowania elektrowniami atomowymi, czy ruchem lotniczym, mają uzasadnienie dla wydatków na taką dostępność. Słowem wszędzie tam gdzie niedostępność może przynieść niewyobrażalne koszty i warto słono płacić za wysoką dostępność systemu, bezpieczeństwo, zdrowie i życie. - yarel 2020-02-02 18:15
@yarel centralki telefoniczne - AXD301 ma (sumarycznie) 9 dziewiątek stabilności - hauleth 2020-02-02 22:35
Mogę mieć nieaktualne informacje, ale google chyba nie przekroczyło pięciu dziewiątek w swoich raportach o dostępności gmaila. - several 2020-02-03 11:39

Pozostało 580 znaków

2020-02-02 10:24

Rejestracja: 2 lata temu

Ostatnio: 1 tydzień temu

Lokalizacja: Wrocław

0

Czemu od razu maszyny wirtualne? Rozważałeś Kubernetes? Zarządzane np. Rancherem.

Pozostało 580 znaków

2020-02-02 12:37
Moderator

Rejestracja: 12 lat temu

Ostatnio: 5 godzin temu

2
donPietro napisał(a):

Czemu od razu maszyny wirtualne? Rozważałeś Kubernetes? Zarządzane np. Rancherem.

To k8s gdzieś musi działać. W większości będzie działać wewnątrz VMek. Poza tym ja nie rozumiem tego hajpu na k8s jak praktycznie wszystko to samo można uzyskać przy pomocy ASG (czy podobnego systemu) i systemd, a zdecydowanie mniej pracy i nauki nowych narzędzi. k8s to IMHO dodatkowa, zbędna warstwa abstrakcji, która jest fajna, jak to nie Ty musisz nią zarządzać, inaczej jest to koszmar.


Auto Scaling Group - hauleth 2020-02-02 22:34
AirSoftGun bądź Aktywna Sieć Geodezyjna :) - Anna Lisik 2020-02-10 20:13

Pozostało 580 znaków

2020-02-02 12:56
Moderator

Rejestracja: 12 lat temu

Ostatnio: 5 godzin temu

1

Mając odpowiednie narzędzia i techniki, oraz odpowiednią konstrukcję infrastruktury można osiągnąć 9 dziewiątek stabilności (oznacza to troszkę ponad pół sekundy downtime w skali 20 lat).


Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0