Kategoria: mikro serwisy

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

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 https://www.youtube.com/watch?v=5YaRDUVac9c