reklama - zainteresowany?

Projektowanie system - Helion

Projektowanie system
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ł

Książka będzie dostępna od listopada 2025

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
  • 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

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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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?

Code, Publish & WebDesing by CATALIST.com.pl



(c) 2005-2025 CATALIST agencja interaktywna, znaki firmowe należą do wydawnictwa Helion S.A.