Spring Cloud
Opis
Architektura Microservices to coraz bardziej popularne podejście do tworzenia systemów, które mają duże wymagania związane ze skalowalnością i niezawodnością. Podejście to dostarcza wiele korzyści – rozluźnia zależności pomiędzy częściami systemu, które można niezależnie skalować. Z drugiej strony to architektura rozproszona, która niesie ze sobą wiele wyzwań związanych ze złożonością komunikacji i monitoringiem zachodzących w systemie zdarzeń. Szkolenie to praktyczne zastosowanie narzędzi i wzorców z użyciem Spring Boot Cloud.
Szczegółowy program
Moduł 1.
Wprowadzenie
- Wprowadzenie do Spring Cloud
- Architektura microservices
- Elementy środowiska microservices
- Podział na microservices
- Przykładowy projekt
Moduł 2.
Konfiguracja
- Twelve factor apps
- Potrzeba eksternalizacji konfiguracji
- Możliwości Spring Configuration Server
- Konfiguracja w oparciu o GIT
- Alternatywne backendy
- Wsparcie dla danych wrażliwych (Vault)
- Automatyczne odświeżanie
- Propagowanie zmian konfiguracji z użyciem messagingu
Moduł 3.
Rejestr usług
- Potrzeba wprowadzenia rejestru usług
- DNS a rejestr usług
- Eureka, Consul, Zookeeper
- Konfiguracja serwera Eureka
- Uzyskanie wysokiej dostępności dla Eureki
- Podział na strefy
- Korzystanie z rejestru usług po stronie klienta
- Load-balancing po stronie klienta (Ribbon)
- Statyczna konfiguracja load balancera
- Programistyczne użycie load balancera
Moduł 4.
Śledzenie i analiza komunikacji
- Wyzwania debugowania w środowisku rozproszonym
- Corellation ID
- Automatyczne dodawanie Corellation ID z użyciem Spring Cloud Sleuth
- Konfiguracja Zipkina
- Analiza komunikacji między usługami z użyciem Zipkina
- Konfiguracja stosu ELK
- Analiza logów z użyciem ELK
- Gromadzenie metryk z użyciem Prometheusa
- Analiza metryk z użyciem Grafany
- Konfiguracja Prometheusa i Grafany
Moduł 5.
Gateway API
- Wzorzec Gateway API
- Wprowadzenie do Netflix Zuul
- Domyślna konfiguracja Zuula
- Modyfikacja ustawień Zuula
- Własny filtr z użyciem Zuula
- Wprowadzenie do Spring Cloud Gateway
- Predykaty
- Filtry
- Canary Deployment ze Spring Cloud Gateway
- Wzorzec Circuit Breaker
- Użycie Hystrixa i Sentinel jako narzędzia uodporniającego na błędy
- Przykładowa konfiguracja
Moduł 6.
Spring Cloud Stream
- Messaging jako forma komunikacji między usługami
- Założenia projektu Spring Cloud Stream
- Binders
- Implementacja i konfiguracja Publishera
- Implementacja i konfiguracja Subscribera
- Deklaratywny klient Spring Cloud Stream
- Włączenie messagingu w komunikację między usługami
Moduł 7.
Single Sign-On z OAuth2
- Specyfikacja OAuth2
- Różne przepływy w OAuth2
- Konfiguracja serwera OAuth
- Konfiguracja serwera zasobów
- Konfiguracja klienta
- Konfiguracja Gateway API
- Generowanie tokena i użycie w celu uwierzytelnienia
Moduł 8.
Kubernetes
- Alternatywne narzędzia dostarczane przez Kubernetes
- Konfiguracja usług
- Konfiguracja danych wrażliwych Config/SecretMap
- Gateway API z użyciem Ingressa
- Autoskalowanie