jak przerobić monolityczną aplikację na architekturę mikro serwisów ?

Post on 28-May-2015

351 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Tworząc architekturę w oparciu o koncepcję mikro serwisów, przed zespołem staje wiele wyzwań. -Budowanie łatwo rozszerzalnej architektury mirkoserwisów. Tworząc nowy serwis, zawsze potrzebujemy danych z innego. Aby je otrzymać wystarczy zaimportować lekkiego klienta, który jest interfejsem innego serwisu. -Jak odpowiednio wykorzystać protokół http, aby zamienić go w swój największy atut i nie próbować ukrywać go niepotrzebnie ? -które funkcjonalności wyciągnąć jako pierwsze ? Jak wykorzystać domain driven design, do modelowania domeny biznesowej, w sposób specyficznych dla danego mikroserwisu ? -Jak zarządzać konfiguracją, i deploymentem wielu serwisów ? -implementowanie wzorca Circuit Breaker, używając biblioteki Netflix Hystrix

TRANSCRIPT

Tomasz Lelek

tomekl007

@tomekl007

Jak przerobić monolityczną aplikację na architekturę mikro serwisów ?

Plan Prezentacji

1. kontekst biznesowy2. technologia3. architektura4. zarządzanie konfiguracja5. monitorowanie6. zbieranie logów7. nowoczesna dokumentacja

Rozwiązywanie problemów

Monolit

Domena aplikacji

Jeden obiekt – wiele tożsamości

Ta sama funkcjonalność -nowa architektura

Przekierowanie requestów

Url Rewriting

#Apache rewrite url, work for post requestRewriteEngine OnRewriteRule /generate http://reportservice.no/generate [P]

Potrzeby

i

Embedded Container

Startowanie serwisu

./sbt>container:start[info] Started SelectChannelConnector@0.0.0.0:8090[success] Total time: 2 s

Jak wygląda mikro serwis ?

Użycie przez importowanie klienta

Wielu klientów

Bardzo specyficzny model ( core )

Rest, json, http

Architektura

Zarządzanie konfiguracja

Pytanie o konfiguracje

Podmiana konfiguracji

Monitorowanie serwisów - status

Monitorowanie - zależności

Grafowa wizualizacja

Wizualizacja zależności

Gdzie jest serwis z konfiguracjami ?

etcd

Circuit Breaker

Hystrix

Implementacja

Wiele serwisów = wiele logów

Jedno miejsce przeglądania

+ logstash

Konfiguracja Logstash

/_search?pretty&type=batch-staging

Odpowiednia dokumentacja

Dokumentacja

Wygenerowany json

Swagger-ui

https://github.com/wordnik/swagger-ui

Dokumentacja jako klient

Czas na mikro serwisy !

Dziękuje, pytania ?

top related