Przejdź do głównej treści

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.