Projektowanie system - Helion

Autor: Brendan Burns
Tytuł oryginału: Designing Distributed Systems: Patterns and Paradigms for Scalable, Reliable Systems Using Kubernetes, 2nd Edition
ISBN: 978-83-289-3147-3
okładka: mi
Księgarnia: Helion
Cena książki: 79,00 zł
Tytuł oryginału: Designing Distributed Systems: Patterns and Paradigms for Scalable, Reliable Systems Using Kubernetes, 2nd Edition
ISBN: 978-83-289-3147-3
okładka: mi
Księgarnia: Helion
Cena książki: 79,00 zł
Książka będzie dostępna od listopada 2025
Zobacz także:
- Jak zhakowa 125,00 zł, (10,00 zł -92%)
- Biologika Sukcesji Pokoleniowej. Sezon 3. Konflikty na terytorium 126,36 zł, (13,90 zł -89%)
- Power BI Desktop. Kurs video. Wykorzystanie narzędzia w analizie i wizualizacji danych 335,45 zł, (36,90 zł -89%)
- Windows Media Center. Domowe centrum rozrywki 66,67 zł, (8,00 zł -88%)
- Podręcznik startupu. Budowa wielkiej firmy krok po kroku 92,67 zł, (13,90 zł -85%)
Spis treści
Projektowanie systemów rozproszonych. Wzorce i paradygmaty dla skalowalnych, niezawodnych usług z wykorzystaniem Kubernetesa. Wydanie II -- spis treści
Przedmowa
Część I. Podstawowe pojęcia
- 1. Wprowadzenie
- Krótka historia rozwoju systemów
- Krótka historia wzorców w rozwoju oprogramowania
- Formalizacja programowania algorytmicznego
- Wzorce programowania obiektowego
- Rozwój otwartego oprogramowania
- Wartość wzorców, praktyk i komponentów
- Stojąc na ramionach gigantów
- Wspólny język do dyskusji na temat naszych praktyk
- Współdzielone komponenty do łatwego ponownego wykorzystania
- Podsumowanie
- 2. Ważne pojęcia związane z systemami rozproszonymi
- API i RPC
- Opóźnienie
- Niezawodność
- Percentyle
- Idempotentność
- Semantyka dostarczania
- Integralność relacyjna
- Spójność danych
- Orkiestracja i Kubernetes
- Kontrola kondycji aplikacji
- Podsumowanie
Część II. Wzorce jednowęzłowe
- 3. Wzorzec Przyczepa
- Przykład przyczepy: dodawanie HTTPS do starszej usługi
- Dynamiczna konfiguracja za pomocą przyczepy
- Modułowe kontenery aplikacji
- Część praktyczna: wdrażanie kontenera topz
- Budowanie prostej usługi PaaS za pomocą przyczepy
- Projektowanie przyczep pod kątem modułowości i ponownego użycia
- Parametryzacja kontenerów
- Definiowanie API każdego kontenera
- Dokumentowanie kontenerów
- Podsumowanie
- 4. Wzorzec Ambasador
- Używanie ambasadora do fragmentowania usługi
- Część praktyczna: implementacja pofragmentowanej usługi Redis
- Używanie ambasadora do pośredniczenia między usługami
- Używanie ambasadora do eksperymentowania lub rozdzielania żądań
- Część praktyczna: implementacja 10% eksperymentów
- Podsumowanie
- Używanie ambasadora do fragmentowania usługi
- 5. Wzorzec Adapter
- Monitorowanie
- Część praktyczna: monitorowanie za pomocą systemu Prometheus
- Rejestrowanie
- Część praktyczna: normalizowanie różnych formatów rejestrowania za pomocą fluentd
- Dodawanie monitora poprawności działania
- Część praktyczna: dodawanie wszechstronnego monitorowania kondycji MySQL
- Podsumowanie
- Monitorowanie
Część III. Wzorce serwowania usług
- 6. Zreplikowane usługi o zrównoważonym obciążeniu
- Usługi bezstanowe
- Sondy gotowości dla mechanizmu równoważenia obciążenia
- Część praktyczna: tworzenie zreplikowanej usługi w Kubernetesie
- Usługi ze śledzeniem sesji
- Zreplikowane usługi warstwy aplikacji
- Wprowadzenie warstwy buforowania
- Wdrażanie pamięci podręcznej
- Część praktyczna: wdrażanie warstwy buforowania
- Rozszerzanie warstwy buforowania
- Ograniczanie przepustowości i obrona przed atakiem DoS
- Przerywanie połączenia SSL
- Część praktyczna: wdrażanie serwera nginx i przerywania połączenia SSL
- Podsumowanie
- Usługi bezstanowe
- 7. Usługi pofragmentowane
- Pofragmentowane buforowanie
- Dlaczego możesz potrzebować pofragmentowanej pamięci podręcznej?
- Znaczenie pamięci podręcznej dla wydajności systemu
- Zreplikowane pofragmentowane pamięci podręczne
- Część praktyczna: wdrożenie ambasadora i systemu memcached dla pofragmentowanej pamięci podręcznej
- Funkcja fragmentująca
- Wybór klucza
- Spójne funkcje haszujące
- Część praktyczna: budowanie spójnego fragmentującego pośrednika HTTP
- Pofragmentowane zreplikowane serwowanie usług
- Systemy fragmentowania na gorąco
- Podsumowanie
- Pofragmentowane buforowanie
- 8. Wzorzec Rozrzucaj-Zbieraj
- Wzorzec Rozrzucaj-Zbieraj z węzłem głównym jako dystrybutorem
- Część praktyczna: rozproszone wyszukiwanie dokumentów
- Wzorzec Rozrzucaj-Zbieraj z fragmentowaniem liści
- Część praktyczna: pofragmentowane wyszukiwanie dokumentów
- Wybieranie odpowiedniej liczby liści
- Skalowanie wzorca Rozrzucaj-Zbieraj pod kątem niezawodności i skali obliczeniowej
- Podsumowanie
- Wzorzec Rozrzucaj-Zbieraj z węzłem głównym jako dystrybutorem
- 9. Funkcje i przetwarzanie oparte na zdarzeniach
- Kiedy FaaS ma sens?
- Zalety FaaS
- Wyzwania FaaS
- Potrzeba przetwarzania w tle
- Potrzeba przechowywania danych w pamięci
- Koszty ciągłego przetwarzania opartego na żądaniach
- Wzorce dla usług FaaS
- Wzorzec Dekorator: transformacja żądań lub odpowiedzi
- Część praktyczna: ustawianie wartości domyślnych żądania przed jego przetworzeniem
- Obsługa zdarzeń
- Część praktyczna: implementowanie uwierzytelniania dwuetapowego
- Potoki oparte na zdarzeniach
- Część praktyczna: implementowanie potoku w celu rejestracji nowego użytkownika
- Podsumowanie
- Kiedy FaaS ma sens?
- 10. Wybór własności
- Czy musisz wybierać węzeł główny?
- Podstawy wyboru węzła głównego
- Część praktyczna: wdrażanie etcd
- Implementacja blokad
- Część praktyczna: implementowanie blokad w etcd
- Implementowanie własności
- Część praktyczna: implementowanie dzierżaw w etcd
- Obsługa jednoczesnej manipulacji danymi
- Podsumowanie
Część IV. Wzorce przetwarzania wsadowego
- 11. Systemy kolejek roboczych
- Ogólny system kolejki roboczej
- Interfejs kontenera źródłowego
- API kolejki roboczej
- Interfejs kontenera roboczego
- Infrastruktura współdzielonej kolejki roboczej
- Część praktyczna: implementacja generowania miniaturek plików wideo
- Dynamiczne skalowanie węzłów roboczych
- Wzorzec Wiele Węzłów Roboczych
- Podsumowanie
- Ogólny system kolejki roboczej
- 12. Przetwarzanie wsadowe oparte na zdarzeniach
- Wzorce przetwarzania opartego na zdarzeniach
- Kopiarka
- Filtr
- Rozdzielacz
- Fragmentator
- Scalacz
- Część praktyczna: budowanie przepływu opartego na zdarzeniach dla rejestracji nowego użytkownika
- Infrastruktura "publikuj-subskrybuj"
- Część praktyczna: wdrażanie Kafki
- Niezawodność i wydajność w kolejkach roboczych
- Kradzież pracy
- Błędy, priorytety i ponowne próby
- Podsumowanie
- Wzorce przetwarzania opartego na zdarzeniach
- 13. Skoordynowane przetwarzanie wsadowe
- Łączenie (synchronizacja barierowa)
- Redukcja
- Część praktyczna: zliczanie
- Suma
- Histogram
- Część praktyczna: znakowanie obrazów i potok przetwarzania
- Podsumowanie
Część V. Pojęcia uniwersalne
- 14. Wzorce monitorowania i obserwowalności
- Podstawy monitorowania i obserwowalności
- Rejestrowanie w dzienniku
- Wskaźniki
- Podstawowe monitorowanie żądań
- Zaawansowane monitorowanie żądań
- Alarmowanie
- Śledzenie
- Agregowanie informacji
- Podsumowanie
- Podstawy monitorowania i obserwowalności
- 15. Obsługa i wnioskowanie przez sztuczną inteligencję
- Podstawy systemów sztucznej inteligencji
- Hostowanie modelu
- Dystrybucja modelu
- Tworzenie z modelami
- Generowanie wspomagane wyszukiwaniem
- Testowanie i wdrażanie
- Podsumowanie
- 16. Typowe wzorce niepowodzeń
- Szarżujące stado
- Brak błędów jest błędem
- Błędy klienta i błędy oczekiwane
- Błędy wersjonowania
- Mit opcjonalnych komponentów
- Ups, wyczyściliśmy wszystko
- Wyzwania związane z rozległością danych wejściowych
- Przetwarzanie przestarzałych zadań
- Problem drugiego systemu
- Podsumowanie
Wniosek: nowy początek?





