Szkolenie: Go - tworzenie mikroserwisów
Szkolenie Go - tworzenie mikroserwisów to praktyczny kurs, który uczy budowy nowoczesnych, skalowalnych i wydajnych mikroserwisów w języku Go z wykorzystaniem frameworka Gin oraz gRPC
- Trenerzy praktycy
- Kameralne grupy
Czas trwania szkolenia:3 dni (24h)
Kod kursu:GO/MICRO
Go - tworzenie mikroserwisów
Cele szkolenia
Szkolenie przygotowuje do samodzielnego projektowania i implementowania mikroserwisów w języku Go z użyciem frameworka Gin, REST API oraz protokołu gRPC i Protocol Buffers
Szkolenie uczy stosowania dobrych praktyk w zakresie architektury mikroserwisów, clean architecture, bezpieczeństwa, obserwowalności oraz wdrażania rozwiązań cloud-native
Szkolenie pokazuje, jak integrować mikroserwisy Go z bazami danych oraz realizować komunikację synchroniczną i asynchroniczną między usługami
Dla kogo?
Programistów posiadających podstawową znajomość języka Go, chcących rozwijać kompetencje w zakresie budowy mikroserwisów i systemów rozproszonych
Osób odpowiedzialnych za projektowanie, wdrażanie i utrzymanie rozproszonych systemów backendowych opartych o nowoczesne technologie
Efekty kształcenia
Uczestnik projektuje i wdraża skalowalne mikroserwisy w języku Go zgodnie z zasadami architektury mikroserwisów i cloud-native
Uczestnik konfiguruje i wykorzystuje framework Gin do budowy wydajnych usług REST API w Golang
Uczestnik implementuje komunikację między-serwisową z wykorzystaniem gRPC, Protocol Buffers oraz wzorców integracyjnych
Uczestnik stosuje mechanizmy bezpieczeństwa w mikroserwisach
Uczestnik integruje mikroserwisy Go z bazami danych, systemami kolejkowymi oraz wdraża wzorzec repozytorium
Uczestnik wdraża aplikacje w środowisku Docker i Kubernetes oraz konfiguruje procesy CI/CD dla mikroserwisów
Wymagania
Podstawowa umiejętność programowania w języku Go
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
Wprowadzenie do architektury mikroserwisów w Go
Założenia, zalety i wyzwania architektury mikroserwisowej
Dlaczego Go: goroutines, niewielki binarny artefakt, szybki czas startu, niska konsumpcja pamięci
Przegląd ekosystemu: Gin, Echo, Chi, Fiber, go-kit, Kratos - kiedy co wybrać
Architektura aplikacji: clean architecture, hexagonal architecture
Struktura katalogów projektu
Budowa usług REST z Gin
Konfiguracja projektu i modułów Go
Routing, grupy, ścieżki i parametry
Middleware: logowanie, recovery, CORS, rate limiting
Walidacja wejścia z go-playground/validator
Serializacja i deserializacja JSON, obiekty DTO
Obsługa błędów i spójne formaty odpowiedzi
Graceful shutdown z wykorzystaniem context
Warstwa logiki biznesowej i utrwalanie
Wstrzykiwanie zależności: konstruktor, opcjonalnie wire lub fx
Separacja warstw: handler, service, repository
Integracja z PostgreSQL: database/sql, pgx, sqlx, sqlc, wzorzec repozytorium
Migracje schematu z golang-migrate oraz goose
Obsługa transakcji i propagacja kontekstu bazy danych
Wprowadzenie do ORM z GORM - kiedy warto stosować
Komunikacja między mikroserwisami
Protocol Buffers i gRPC: definicja schematu, generowanie kodu, serwer i klient
Wzorce komunikacji synchronicznej: REST vs gRPC
Komunikacja asynchroniczna
Wzorce integracyjne: outbox, saga, event sourcing
Service discovery
Odporność usług: retry, timeout, circuit breaker z sony/gobreaker
Bezpieczeństwo
Podstawy: uwierzytelnianie, autoryzacja, poufność i integralność danych
Tokeny JWT z biblioteką golang-jwt/jwt
OpenID Connect i OAuth2 z wykorzystaniem Keycloak
mTLS w komunikacji gRPC
Zarządzanie sekretami: HashiCorp Vault, zmienne środowiskowe, Viper
Zabezpieczenia na poziomie middleware: CORS, CSRF, limity żądań
Obserwowalność i testowanie
Strukturalne logowanie: log/slog, zap oraz zerolog
Metryki aplikacyjne z Prometheus i klientem prometheus/client_golang
Śledzenie rozproszone z OpenTelemetry, Jaeger i Tempo
Health checks: liveness i readiness probes
Testowanie: testy jednostkowe, table-driven tests, mocki z gomock i testify
Testy integracyjne z testcontainers-go
Testy kontraktowe API: Pact, schematy OpenAPI
Wdrażanie i utrzymanie
Budowanie obrazów Docker: multi-stage builds, distroless
Konfiguracja przez zmienne środowiskowe w duchu 12-factor z użyciem Viper
Podstawy Kubernetes: Deployment, Service, ConfigMap, Secret
Service mesh w zarysie: Istio, Linkerd
CI/CD z GitHub Actions, podpisywanie obrazów, generowanie SBOM
Wybrane opinie
Przeczytaj pozytywne opinie pochodzące z ankiet satysfakcji z naszych szkoleń wypełnianych wyłącznie przez ich uczestników po realizacji usługi

