1.12. Python: Microservices¶
1.12.1. Polish¶
Wprowadzenie teoretyczne do zagadnień sieciowych:
Model OSI
Komunikacja TCP/IP i trójstronny handshake
Komunikacja klient-serwer
Asynchroniczna komunikacja sieciowa
Skalowalność horyzontalna
Protokół HTTP:
Cykl życia żądania HTTP
Request-Response
Metody (czasowniki) protokołu
Nagłówki żądań i odpowiedzi
Statusy
Mimetype
Uwierzytelnianie
Pobieranie danych z serwera
Przesyłanie danych do serwera
Debugging
HTTPS
Uwierzytelnianie
OAuth2 i JWT (JSON Web Token)
REST:
JSON serializacja i deserializacja
Dokumentacja: OpenAPI
Zasady tworzenia API
Wersjonowanie API
Uwierzytelnianie
Wprowadzenie do frameworków:
FastAPI
Django
Kolejki zadań: Redis+Cellery
Wprowadzenie do baz danych:
Surowe zapytania SQL
Wykorzystanie ORM w aplikacji
Przykłady użycia baz danych: SQLite3, PostgreSQL, MongoDB, InfluxDB, Prometheus
Mechanizmy cache: memcached, redis, varnish
Wprowadzenie do konteneryzacji:
Docker
Kubernetes
Mikroserwisy:
Architektura mikroserwisowa
Skalowalność
BFF - Backend for Frontend
API Gateway
Load Ballancing
Testowanie aplikacji sieciowych:
Praktyczna implementacja testów aplikacji sieciowej w języku Python
Testowanie aplikacji sieciowych we współczesnych metodykach wytwarzania oprogramowania
Pipeline CI/CD