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