Miesiąc: Wrzesień 2020

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

Java JDK 15 co nowego?

 Nowe wydanie Javy JDK 15 z 15 września 2020 zawiera wiele nowych ciekawych i poprawionych funkcji. 

JEP 339: Edwards-Curve Digital Signature Algorithm (EdDSA)

JEP 360: Sealed Classes (Preview) 
JEP 371: Hidden Classes 
JEP 372: Remove the Nashorn JavaScript Engine 
JEP 374: Disable and Deprecate Biased Locking 
JEP 375: Pattern Matching for instanceof (Second Preview) 
JEP 377: ZGC: A Scalable Low-Latency Garbage Collector 
JEP 378: Text Blocks 
JEP 379: Shenandoah: A Low-Pause-Time Garbage Collector J
EP 381: Remove the Solaris and SPARC Ports 
JEP 383: Foreign-Memory Access API (Second Incubator)
JEP 384: Records (Second Preview) 
JEP 385: Deprecate RMI Activation for Removal