13 - CQRS + Event Sourcing

Náplň cvičení:

  • Patterny pro microservices
  • Konzultace a odevzdávání semestrálních prací

Teorie

Přednáška:

Následující schéma zachycuje aplikaci, která aplikuje patterny pro tvorbu microservices.

Command Queue - v této frontě se skladují commandy (pokyny co se má provést) např. z UI, které jsou odebírány zaregistrovanými komponentami

Command Handler(s) - kód, který selektivně odebírá commandy a zpracovává je pomocí služeb doménové logiky

Domain Logic - služby nad doménovou logikou, které provádí kód pro danou doménu (např. Logika pro zpracování klienta banky, logika pro spotřební úvěr atd.). Při změnách generují eventy.

Event Store - úložiště eventů

Event Queue - fronta eventů, které jsou odebírány zaregistrovanými komponentami

Event Handler(s) - kód, který selektivně odebírá eventy a ty jsou dále zpracovávány

Materialized view - datové repository optimalizované pro čtení např. z UI

Process Manager/Saga - implementace ságy, transformuje eventy do akcí nad doménovou logikou

Zadání úlohy

Stáhněte si z repository kód pro aplikaci, která zjednodušeně implementuje patterny pro tvorbu microservices na hře kámen, nůžky, papír: https://gitlab.fel.cvut.cz/B231_B6B36OMO/seminar/-/tree/master/cv13_assignment

1) Oddebuggujte si aplikaci a snažte se pochopit jak je implementována

2) Rozšiřte aplikaci ze tří symbolů (kámen, nůžky, papír) na pět tak, aby hra byla pořád vyvážená

courses/b6b36omo/labs/lab132017.txt · Last modified: 2023/12/19 12:41 by vankejan