Trwają zapisy do grupy

Szkolenie: Architektura Mikroserwisów na platformie Java

Podczas tego szkolenia dowiesz się, w jaki sposób projektować architektury mikroserwisów na przykładzie platformy Java oraz popularnych narzędzi i technologii używanych w praktyce w infrastrukturze mikroserwisowej. Nauczysz się, jak dobierać odpowiednie rozwiązanie mając na uwadze zarówno korzyści, jak i kompromisy poszczególnych wzorców architektonicznych.

  • Trenerzy praktycy
  • Kameralne grupy

Czas trwania szkolenia:4 dni (32h)

Poziom zaawansowania:

Kod kursu:MICROSERVICES

javamicroservicesarchitecturepatterns

Dostępne terminy szkolenia

  • Termin
  • Trener
  • Cena
  • Zapis
  • Lokalizacja

Termin:

31 marca
Trwają zapisy na szkolenie

Trener:

Trener-Sages

Cena:

3905 PLN netto
Ikona podpowiedziDowiedz się więcej o cenach szkoleń - zapraszamy do kontaktu
+23% VAT

Lokalizacja:

Zdalne
Zdalne
Ikona podpowiedziZapytaj o inne lokalizacje - w tym celu skorzystaj z chatu

Forma szkolenia

Interesuje Cię szkolenie stacjonarne?

Powiadom o kolejnych terminach

Interesuje Cię szkolenie w innym terminie?

Architektura Mikroserwisów na platformie Java

Cele szkolenia

  • projektowanie, implementowanie, testowanie i wdrażanie architektury mikroserwisów

  • poznanie wzorców architektonicznych niezbędnych dla poprawnie działającego systemu mikroserwisowej

  • przegląd popularnych narzędzi i ich zastosowanie w infrastrukturze mikroserwisowej

  • podejmowanie decyzji umożliwiających ciągły rozwój mikroserwisów oraz migrację istniejącego monolitu do architektury mikroserwisów


Dla kogo?

  • Doświadczonych programistów oraz architektów budujących i rozwijających systemy w języku Java


Zalety

  • Szkolenie "Architektura Mikroserwisów" ma charakter praktycznych warsztatów programistycznych realizowanych w języku Java z wykorzystaniem popularnego dla mikroserwisów frameworka w tym języku, czyli Quarkus

  • Praktyczne warsztaty pozwalają zapoznać się z wieloma popularnymi narzędziami i technologiami

  • Nauczysz się jak modelować serwisy, komunikację międzyserwisową oraz jak efektywnie zarządzać i utrzymywać produkcyjnie wdrożone serwisy

  • Dowiesz się, jakie są niezbędne charakterystyki mikroserwisów oraz jak o nie zadbać

  • Poznasz techniki wytwarzania testów niezbędnych w architekturze mikroserwisowej

  • Dowiesz się, jak podejść do migracji istniejących systemów monolitycznych oraz zadbać o wysoką jakość utworzonego rozwiązania


Wymagania

  • Podstawowa znajomość typowych wzorców architektonicznych

  • Podstawowa znajomość języka Java oraz dowolnego frameworka

  • Podstawowa znajomość zagadnień związanych z analizą i projektowaniem architektury oprogramowania


W cenie otrzymasz:

  • Materiały szkoleniowe

  • Certyfikat ukończenia szkolenia

  • W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki

Program szkolenia

Pobierz program w PDF

Wprowadzenie

  • Szybki przegląd architektur infrastrukturalnych (monolit, modularny monolit, SOA, EDA, systemy aktorowe)

  • Korzyści i koszt wykorzystania mikroserwisów

  • Fallacies of Distributed Computing

Modelowanie mikroserwisów

  • Domeny biznesowe a mikroserwisy

  • Domain Driven Design i Bounded Context

Loosely-Coupled Architecture

  • Loose Coupling & High Cohesion

  • Abstrakcyjność i niestabilność

  • Kompatybilność Backward a Forward

  • Shared libraries

Dbanie o jakość architektury mikroserwisowej

  • ArchUnit jako sposób testowania architektury

  • JMolecules i DDD

Komunikacja międzyserwisowa

  • Omówienie problemu rzetelności komunikacji

  • Wzorce 1-1, 1-N, M-N

  • Komunikacja synchroniczna, a asynchroniczna

  • Komunikacja zdarzeniowa

  • Porównanie: Message Broker, Event Broker, Brokerless

  • Wyzwania komunikacji opartej na zdarzeniach

  • Wzorce transakcyjności obsługi wiadomości

  • Formaty wiadomości

  • Protocol Buffers

  • HTTP a REST

  • Client Driven API

  • Wzorce paginacji i projekcji danych

  • gRPC

  • Komunikacja, a niezawodność

  • HTTP Cache

  • Debezium jako narzędzie Change Data Capture

  • Load Balancing z wykorzysatniem Kafki

API

  • Zakres widoczności API

  • Abstrakcyjne typy interfejsów i operacji

  • Sposoby wersjonowania API

  • Wzorce rezyliencji: Circuit Breaker, Fallback, Timeout, Retry

  • Service Discovery na przykładzie Consula

  • API Gateway

  • Backend For Frontend

  • Wzorzec API Composition

Command Query Responsibility Segregation

  • Kiedy stosować CQRS

  • Command

  • Query

  • Różne sposoby implementacji

Bazy danych

  • Sharding

  • SQL i schemat relacyjny

  • Anomalie we współbieżnej modyfikacji danych

  • Poziomy izolacji

  • Wzorce transakcyjności

  • NoSQL

  • ACID vs CAP

  • Modele danych w bazach danych

  • Problem N+1 w komunikacji międzyserwisowej

  • OLAP w mikroserwisach

Edge functions

  • Uwierzytelnienie

  • Autoryzacja

  • Cache - buforowanie replikowane

  • Throttling - Rate Limits, Bulkhead

  • Metryki

  • Logowanie

Transakcje

  • Transakcje lokalne vs rozproszone

  • Omówienie algorytmu 2PC

  • Eventual consistency

  • Saga

  • Podtypy transakcji w Sagach

  • Choreografia, a orkiestracja

  • Wzorce izolacji Sag

  • Event Sourcing

Testowanie

  • Piramida testów w wersji dla mikroserwisów

  • Consumer-Driven Contract na przykładzie Pact

Production Ready (Opcjonalnie)

  • Bezpieczeństwo komunikacji międzyserwisowej

  • Observability

  • Health Check API z wykorzystaniem Consul

  • Log aggregation z wykorzystaniem stosu ELK

  • Distributed tracing z wykorzystaniem Open Telemetry i Jaeger,

  • Metryki aplikacyjne

Autorem szkolenia jest Mateusz Kamiński

Absolwent informatyki Instytutu Informatyki na Wydziale Elektroniki i Technik Informacyjnych Politechniki Warszawskiej, obecnie Engineering Manager w Sages. Przez wiele lat prowadził zespoły programistyczne wytwarzające współczesne oprogramowanie, kładąc przy tym nacisk na jakość i elastyczność tworzonych rozwiązań. Od kilku lat lider zespołu technicznego Sages, który to w niedługim czasie z niewielkiego startupu rozwinął się w software house. Od początków kariery był mentorem w zespołach programistycznych,…