Poziom średniozaawansowany
Kup kurs →
Modularny Monolit
Buduj modularne aplikacje w oparciu o monolit, bo mikroserwisy to nie jedyna droga
27
godzin
45
lekcji
1051+
uczestników
O kursie
Mocno praktyczny kurs online pokazujący, że monolity wcale nie muszą być passé! Poznaj tajniki budowania modularnych oraz łatwo rozszerzalnych aplikacji monolitycznych!
Dla kogo
Kurs jest przeznaczony zarówno do osób początkujących, jak i doświadczonych programistów, którzy pragną poszerzyć swoją wiedzę związaną z tworzeniem modularnego monolitu.
- ✓ Czym jest, a czym nie jest modularny monolit?
- ✓ Czy mikroserwisy to jedyna droga na tworzenie autonomicznych, modularnych aplikacji?
- ✓ Jaka jest różnicą pomiędzy architekturą horyzontalną, a wertykalną?
- ✓ Czym jest vertical slice?
- ✓ Jak zaimplementować niezależne od siebie moduły z dowolnym stylem architektonicznym?
- ✓ Czym jest w ogóle ten Software Craftsmanship w praktyce?
- ✓ W jaki sposób możemy komunikować, oraz integrować ze sobą moduły?
- ✓ Jakie wady i zalety ma podejście oparte na kodzie współdzielonym, a jakie na lokalnych kontraktach?
- ✓ Czy możemy osiągnąć transakcyjność i spójność danych w niezależnych modułach?
- ✓ Jak implementować globalne procesy przecinające różne moduły?
- ✓ Kiedy i gdzie zastosować DDD, CQRS a kiedy zwykłego CRUDa?
- ✓ Jak testować modularny monolit w ujęciu lokalnym i globalnym?
- ✓ Jak wydzielić wybrany moduł do mikroserwisu gdy zajdzie taka potrzeba?
Tematyka
- ✓ Modularny Monolit – zagadnienia fundamentalne
- ✓ Analiza przykładowej solucji, procesów i wyodrębnienie niezależnych modułów
- ✓ Dobór odpowiednich stylów architektonicznych do klasy złożoności modułu
- ✓ Domain-Driven Design, CQRS, CRUD – wykorzystanie różnych wzorców w zależności od klasy problemu
- ✓ Implementacja modułów w oparciu o vertical slice
- ✓ Wydzielenie wspólnej części w oparciu o współdzielone abstrakcje
- ✓ Osiągnięcie pełnej autonomii modułów z wykorzystaniem lokalnych kontraktów
- ✓ Wewnętrzna komunikacja pomiędzy modułami na wzór Web API
- ✓ Wewnętrzna integracja pomiędzy modułami z wykorzystaniem brokera wiadomości
- ✓ Synchroniczna, a asynchroniczna obsługa komunikatów
- ✓ Event-driven architecture w aplikacji monolitycznej
- ✓ Rodzaje spójności i transakcyjności danych w modularnym monolicie
- ✓ Obsługa globalnych procesów z wykorzystaniem wzorca Saga i Process Manager
- ✓ Testowanie solucji na różnych poziomach (jednostkowe, integracyjne)
- ✓ Wyodrębnienie pojedynczego modułu do dedykowanego mikroserwisu
Nie kupujesz kota w worku!
Masz wątpliwości dotyczące kodu źródłowego? Chcesz sprawdzić aplikację, zanim podejmiesz decyzję o zakupie kursu? Nie ma problemu! Jesteśmy open source! Cały kod źródłowy, który zaimplementujemy wspólnie podczas kursu, jest dla Ciebie dostępny za darmo na GitHub!
Zobacz na GitHubDołącz do otwartej społeczności
Zapraszamy Cię do otwartej społeczności Modularny Monolit dostępnej za pomocą popularnego komunikatora Discord, używanego przez programistów na całym świecie. Niezależnie od tego, czy zdecydujesz się (bądź nie) na zakup kursu — u nas wszyscy są równi. Zachęcamy Cię do zadawania pytań oraz dyskusji na wybrane zagadnienia dotyczące kursu (i nie tylko).
Dołącz do DiscordProgram kursu
- 1.1 Wprowadzenie DEMO 09:15 min
- 1.2 Podział systemów 24:04 min
- 1.3 Modularny monolit DEMO 12:25 min
- 2.1 Event Storming – wprowadzenie 19:10 min
- 2.2 ES big picture 44:38 min
- 2.3 ES process level 38:00 min
- 3.1 Struktura aplikacji 21:09 min
- 3.2 Struktura solucji 09:16 min
- 3.3 Pierwszy moduł – projekt i warstwy 31:34 min
- 3.4 Pierwszy moduł – logika aplikacji (hosts) 01:10:12 h
- 3.5 Pierwszy moduł – logika aplikacji (conferences) 40:27 min
- 3.6 Infrastruktura – obsługa wyjątków 42:02 min
- 3.7 Infrastruktura – baza danych z EF Core 01:02:53 h
- 4.1 Dynamiczne ładowanie modułów 27:28 min
- 4.2 Konfiguracja modułów 32:29 min
- 4.3 Inicjalizacja modułów – podsumowanie 19:38 min
- 4.4 Uwierzytelnianie i autoryzacja 34:25 min
- 4.5 Automatyczna dokumentacja 48:09 min
- 5.1 Integracja przez zdarzenia DEMO 01:06:13 h
- 5.2 Lokalne kontrakty wiadomości 51:39 min
- 5.3 Broker wiadomości 19:54 min
- 5.4 Asynchroniczna obsługa zdarzeń DEMO 27:00 min
- 6.1 Clean architecture – wprowadzenie 19:06 min
- 6.2 Warstwa domeny 01:24:12 h
- 6.3 Obsługa zdarzeń 07:04 min
- 6.4 CQRS – wprowadzenie 17:00 min
- 6.5 Komenda – implementacja 28:47 min
- 6.6 Kwerenda – implementacja 23:52 min
- 6.7 Warstwa infrastruktury 53:02 min
- 6.8 Zdarzenia domenowe 20:58 min
- 6.9 Mapowanie zdarzeń 14:26 min
- 7.1 Agendas – omówienie modułu DEMO 43:25 min
- 7.2 Attendances – omówienie modułu i integracja 49:58 min
- 7.3 Komunikacja międzymodułowa 39:53 min
- 7.4 Agregat "obecności" 36:50 min
- 7.5 Transakcyjność z Unit of Work DEMO 49:15 min
- 8.1 Testy jednostkowe agregatów 45:47 min
- 8.2 Testy jednostkowe handlerów 40:54 min
- 8.3 Testy integracyjne Web API 01:15:39 h
- 9.1 2PC, EC, Saga – omówienie 41:53 min
- 9.2 Saga – przykład implementacji 01:04:19 h
- 10.1 Monolit vs mikroserwisy 36:44 min
- 10.2 Wydzielenie modułu do mikroserwisu 40:09 min
- 10.3 Asynchroniczna integracja monolitu z mikroserwisem 46:40 min
- 10.4 API Gateway jako Proxy DEMO 14:53 min
100% gwarancji
14-dniowa gwarancja zwrotu