Budowanie mikro serwisów -porady
W tej notce opisze kilka ciekawych rozwiązań, które ułatwiają pisanie, testowanie i wsparcie obsługi mikro serwisów.
Odporne mikro serwisy (resilient microservces)
Kontrakty
Podejście typu: Consumer-Driven Contracts
Definicje:Dostawca (Provider) -serwis, który wystawia API/ wysyła wiadomości
Konsument(Consumer) -serwis odbierający wiadomości od Producenta/nasłuchuje czy Producent nie wysyła wiadomości
Kontrakt jest umową pomiędzy producentem i konsumentem na temat tego w jaki sposób API . wiadomości wysyłane mają wyglądać (jaka ma być ich struktura)
Kontrakty możemy definiować na przykład w: WSDL, YML
Rest API w Springu
Pojęcia, które należy znać:
Path variable
Response Entity
Query Params
Testy
Piramida pokazująca jak powinna wyglądać ilość każdego z typów testów.
Testy kompatybilności wstecznej serwisu
Testy zmian w struktutrze bazy danych.
Wdrożenie aplikacji
Deployment pipline example with Spinnaker
Distributed Tracing
Logging
Kibana -Narzędzie do wyświetlania logów
Logging
Kibana -Narzędzie do wyświetlania logów
Metrics and alerting
Zipkin pokazuje w jaki sposób serwisy komunikują się ze sobą.
src:
- https://martinfowler.com/articles/consumerDrivenContracts.html
- "Building Resilient Microservices" wideo
- O architekturze mikroserwisowej z Kubą Nabrdalikiem
Komentarze
Prześlij komentarz