Mikroserwisy to styl architektury oprogramowania, w którym aplikacja jest podzielona na wiele małych, niezależnych serwisów. Każdy mikroserwis odpowiada za określoną funkcjonalność i działa jako samodzielna jednostka, komunikując się z innymi serwisami za pomocą lekkich protokołów, najczęściej HTTP/REST lub komunikatów asynchronicznych.

Dlaczego Java?

Java jest jedną z najpopularniejszych technologii wykorzystywanych do tworzenia mikroserwisów ze względu na stabilność i dojrzałość. Java istnieje od ponad dwóch dekad i posiada bogaty ekosystem narzędzi. Są one wsparciem dla wielowątkowości i wysokiej wydajności. Java dostarcza bogate frameworki: Spring Boot, Micronaut, Quarkus czy Vert.x ułatwiają tworzenie mikroserwisów. Dodatkowo liczne biblioteki, dokumentacja oraz społeczność wspierają rozwój aplikacji.

Kluczowe frameworki Java dla mikroserwisów

Spring Boot

To najpopularniejszy framework do tworzenia mikroserwisów w Javie. Umożliwia szybkie tworzenie aplikacji dzięki automatycznej konfiguracji i wbudowanym serwerom aplikacyjnym. W połączeniu z Spring Cloud zapewnia narzędzia do zarządzania konfiguracją, rejestracji usług, równoważenia obciążenia i obsługi komunikacji między mikroserwisami.

Micronaut

Framework stworzony z myślą o niskim zużyciu pamięci i szybkim czasie startu — idealny do budowy lekkich mikroserwisów, które mogą działać w środowiskach chmurowych i kontenerowych.

Quarkus

Nowoczesny framework Java zoptymalizowany pod kątem środowisk kontenerowych i serverless. Charakteryzuje się szybkim startem i małym zużyciem pamięci, co sprawia, że idealnie nadaje się do mikroserwisów.

Vert.x

Asynchroniczny i reaktywny framework, który pozwala na tworzenie bardzo wydajnych, nieblokujących mikroserwisów.

Niżej przedstawiamy kilka prostych przykładów mikroserwisów w Javie z użyciem popularnego frameworka Spring Boot.

Minimalny mikroserwis REST w Spring Boot

Plik: pom.xml (fragment z zależnościami)

pom.png

Plik: Application.java

aplication.png

Plik: GreetingController.java

greetingcontroller.png

Co się dzieje? Tworzymy prosty serwis HTTP, który na endpointzie /greeting zwraca tekst.

Prosty klient wywołujący inny mikroserwis

Załóżmy, że mamy drugi mikroserwis, który chce wywołać pierwszy.

Dodajemy zależność w pom.xml:

pom.png

Plik: ServiceClient.java

serviceClient.png

Plik: ClientController.java

clientcontroller.png

Co się dzieje?

ServiceClient to prosty klient HTTP, który asynchronicznie wywołuje inny mikroserwis pod adresem http://localhost:8080/greeting.

ClientController udostępnia endpoint /call-greeting, który zwraca wynik wywołania mikroserwisu.

Jak uruchomić?

1. Uruchom pierwszy mikroserwis (na porcie 8080).

2. Uruchom drugi mikroserwis (na innym porcie, np. 8081).

3. Odwiedź w przeglądarce lub użyj curl adres:

http://localhost:8080/greeting — otrzymasz komunikat z pierwszego mikroserwisu.

http://localhost:8081/call-greeting — drugi mikroserwis wywoła pierwszy i zwróci jego odpowiedź.

Zadaj pytanie naszemu ekspertowi

Masz pytania, a może masz pomysł który chciałbyś przedyskutować?

Umów się na bezpłatną konsultację