11.3. Microservices Distributed Systems¶
Niezależne domeny awarii
Możliwość pisania w wielu językach
Równoległość komponentów (concurrency)
Brak globalnego zegara i możliwości jednoznacznego określenia czasu i kolejności
zapewnienie spójności kosztem dostępności
zapewnienie wysokiej dostępności kosztem spójności
wzajemnie się wykluczające
nie ma ACID!: Atomicity, Consistency, Isolation, Durability
Dwufazowe Commity
Brak transakcyjności
Zastosować mechanizm rekompensacji (np. raz w nocy usuwać zduplikowane dane)
Brak gwarancji, że komunikat wysłany do hosta zostanie wysłany tylko raz (np. jeżeli dwa razy zostanie wysłany komunikat przez bankomat o naliczeniu opłaty, to operacja zostanie wykonana przez bank tylko raz)
11.3.1. BASE¶
Basically
Available (w większości możemy wykonać pewne operacje)
Soft State (tylko operacje, których stan możemy odbudować, np. przez przegenerowanie cache)
Eventually consistent (system jest pomiędzy stanem spójnym i niespójnym)
11.3.2. 8 błędnych założeń¶
Deutsch, P. The Eight Fallacies of Distributed Computing. Year: 1991. 1
Sieć jest niezawodna
Opóźnienia w sieci są zerowe
Przepustowość sieci jest nieskończona
Sieć jest bezpieczna
Topologia sieci się nie zmienia
Istnieje tylko jeden administrator
Koszt transportu jest zerowy
Sieć jest jednorodna
11.3.3. Sieć jest niezawodna¶
sieć w serwerowni jest niezawodna
MTBF routera jest 50k h
netsplit w publicznych cloudach są normalne
zwiększa się latency
11.3.4. Opóźnienia w sieci są zerowe¶
opóźnienia w sieci są zerowe
11.3.5. Przepustowość sieci jest nieskończona¶
przepustowość sieci jest nieskończona
11.3.6. Sieć jest bezpieczna¶
większość aplikacji jest chroniona z zewnątrz
brak szyfrowania wewnątrz sieci
11.3.7. Topologia sieci się nie zmienia¶
przeliczenie BGP i zmiana spanning tree
ścieżki sieciowe się zmieniają
pojawiają się nowe instancje
11.3.8. Istnieje tylko jeden administrator¶
różni ludzie z różną wiedzą
inaczej konfigurują maszyny
jeden serwer może być lepiej skonfigurowany
11.3.9. Koszt transportu jest zerowy¶
narzut czasowy na serializację, deserializację, stos TCP
czas transportu po medium jest niezerowy
11.3.10. Sieć jest jednorodna¶
sieć składa się z różnych urządzeń
mogą być różnie stabilne
mogą mieć różne charakterystyki
11.3.11. References¶
- 1
Deutsch, P. The Eight Fallacies of Distributed Computing. Year: 1991.