Architektura mikroserwisów
Słownik kwalifikacji INF.04 - Projektowanie, programowanie i testowanie aplikacji
Co to jest architektura mikroserwisów?
Architektura mikroserwisów to sposób budowy aplikacji, w którym system jest podzielony na wiele małych, niezależnych usług. Każda usługa realizuje konkretną funkcję biznesową, np. obsługę użytkowników, płatności, zamówień lub powiadomień.
W przeciwieństwie do aplikacji monolitycznej mikroserwisy nie muszą być wdrażane jako jedna całość. Każdy mikroserwis może być rozwijany, testowany, uruchamiany i skalowany osobno.
Najważniejsze cechy mikroserwisów
- niezależne wdrażanie usług - aktualizacja jednej usługi nie wymaga publikowania całej aplikacji,
- komunikacja przez API - usługi wymieniają dane np. przez REST, HTTP, gRPC lub kolejki komunikatów,
- skalowalność wybranych elementów - można zwiększyć zasoby tylko dla tych usług, które są najbardziej obciążone,
- luźne powiązanie komponentów - awaria jednej usługi nie musi zatrzymać całego systemu,
- możliwość użycia różnych technologii - różne mikroserwisy mogą być napisane w różnych językach.
Przykład
W sklepie internetowym osobnymi mikroserwisami mogą być:
- usługa kont użytkowników,
- usługa koszyka,
- usługa płatności,
- usługa wysyłki,
- usługa powiadomień e-mail.
Na egzaminie
Z mikroserwisami kojarz: niezależne usługi, API, skalowanie pojedynczych usług i niezależne wdrażanie. Nie kojarz ich z jednym, monolitycznym kodem źródłowym.