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


Metrics and alerting

Zipkin pokazuje w jaki sposób serwisy komunikują się ze sobą.






src: 

  1. https://martinfowler.com/articles/consumerDrivenContracts.html
  2. "Building Resilient Microservices" wideo 
  3. O architekturze mikroserwisowej z Kubą Nabrdalikiem


Komentarze

Popularne posty