Od monolitu do mikroserwisów czyli spring-cloud w praktyce
1. Wprowadzenie projektów spring/spring-boot/spring-cloud oraz w jaki sposób będziemy symulować migrację prostego monolitu do świata mikroserwisów ze wsparciem wzorca projektowego CQS.
2. Zastąpienie identyfikatorów encji nadawanych przez bazę danych dedykowanym mikroserwisem (znamy jako snowflake) oraz skomunikowanie go za pomocą klienta feign z resztą aplikacji.
3. Problem nr 1 - jak pozbyć się identyfikatorów sieciowych usług czyli service discovery server/client.
4. Wydzielamy funkcjonalność rejestracji użytkowników.
5. Co zyskaliśmy? Uruchamianie i testowanie pojedynczego mikroserwisu.
6. Problem nr 2 - zmieniające się adresy usług. Dodajemy pojedynczy punkt dostępowy: Spring Cloud Gateway.
7. Wydzielamy funkcjonalność komentarzy.
8. Dema uczestników + demo na awsi’e i podsumowanie.
9. Dyskusja
Rewolucja mikroserwisów ogarnęła wszystkich a dzięki Netflix’owi, który opublikował część swoich narzędzi na licencjach open-source i integracji ich w projekcie spring-cloud każdy jest w stanie zbudować skalowalny, odporny na błędy serwis w parę godzin. Jednak mnogość bibliotek i rozwiązań może przyprawić o ból głowy i stanowić sporą barierę wejścia.
Podczas tego warsztatu poznasz aplikację umożliwiającą rejestrację użytkowników oraz dodawanie prostych notatek napisaną w oparciu o spring-mvc, a po jego zakończeniu będziesz miał gotowy do wdrożenia zestaw mikroserwisów.
Całość będzie się działać w oparciu o projekt spring/spring-boot/spring cloud, więc doświadczenie z Javy i Spring’a jest wymagane. Aplikacja będzie dostępna w repozytorium git i napisana pod Jave 11 (polecam Amazon Corretto 11) i a budowana będzie przez Mavena.
Wymagania wstępne:
- doświadczenie z Javy,
- doświadczenie ze Spring’a.
Podczas warsztatu uczestnicy korzystają z własnych komputerów. Podczas warsztatu zapewniamy dostęp do kawy, herbaty, wody. W porze obiadowej zapewniamy pizzę w wersji mięsnej lub wegetariańskiej.
PROWADZĄCY
Marek Będkowski - Polyglot programmer z wieloletnim stażem oraz doświadczeniem w projektach dużych i małych. Jego ścieżka kariery prowadziła przez wiele języków programowania m.in. ActionScript, php, perl, C++, python, CoffeeScript, JavaScript ostatnio Java i TypeScript. Uważa, że idealny programista powinien znać perfekcyjnie co najmniej jeden język dynamiczny i jeden statyczny. Do tej pory miał okazję realizować projekty m.in. z sektora publicznego, przetwarzania wideo w czasie rzeczywistym oraz analizy obrazów przy wykorzystaniu sieci neuronowych (również w Javie :))). Od czasu tego ostatniego dość sceptycznie nastawiony do możliwości przejęcia kontroli nad światem przez sztuczną inteligencję. Obecnie zajmuje się architekturą odporną na błędy z użyciem spring-cloud . Po godzinach próbuje dotrzymać tempa swojej trójce dzieci no i marzy o Tesli :)
UWAGA
Liczba miejsc ograniczona! Organizator zastrzega sobie prawo do zmiany lokalizacji wydarzenia oraz jego odwołania w przypadku niezgłoszenia się minimalnej liczby uczestników.