Zvládnutí firemní složitosti v mikroslužbě pomocí vzorů DDD a CQRS

Tip

Tento obsah je výňatek z eBooku, architektury mikroslužeb .NET pro kontejnerizované aplikace .NET, které jsou k dispozici na .NET Docs nebo jako zdarma ke stažení PDF, které je možné číst offline.

.NET Microservices Architecture for Containerized .NET Applications eBook cover thumbnail.

Návrh modelu domény pro každou mikroslužbu nebo ohraničený kontext, který odráží pochopení obchodní domény.

Tato část se zaměřuje na pokročilejší mikroslužby, které implementujete, když potřebujete řešit složité subsystémy nebo mikroslužby odvozené ze znalostí odborníků na doménu s neustále měnícími se obchodními pravidly. Vzory architektury používané v této části jsou založené na přístupu k návrhu řízenému doménou (DDD) a oddělení odpovědnosti příkazů a dotazů (CQRS), jak je znázorněno na obrázku 7-1.

Diagram comparing external and internal architecture patterns.

Rozdíl mezi externí architekturou: vzory mikroslužeb, brány rozhraní API, odolná komunikace, pub/sub atd. a interní architektura: data řízená daty/CRUD, vzory DDD, injektáž závislostí, více knihoven atd.

Obrázek 7-1 Architektura externích mikroslužeb versus vzory interní architektury pro každou mikroslužbu

Většina technik mikroslužeb řízených daty, například jak implementovat službu webového rozhraní API ASP.NET Core nebo jak zpřístupnit metadata Swaggeru pomocí Swashbuckle nebo NSwag, se také vztahují k pokročilejším mikroslužbám implementovaným interně se vzory DDD. Tato část je rozšířením předchozích částí, protože většina postupů popsaných dříve platí také zde nebo pro jakýkoli druh mikroslužby.

Tato část nejprve obsahuje podrobnosti o zjednodušených vzorech CQRS používaných v referenční aplikaci eShopOnContainers. Později získáte přehled technik DDD, které vám umožní najít běžné vzory, které můžete v aplikacích opakovaně používat.

DDD je rozsáhlé téma s bohatou sadou zdrojů pro výuku. Můžete začít s knihami, jako je Domain-Driven Design eric Evans a další materiály od Vaughn Vernon, Jimmy Nilsson, Greg Young, Udi Dahan, Jimmy Bogard a mnoho dalších odborníků na DDD/CQRS. Ale většina z vás se snaží naučit používat techniky DDD z konverzací, tabulí a relací modelování domén s odborníky ve vaší konkrétní obchodní doméně.

Další materiály

DDD (návrh řízený doménou)
Knihy DDD
Trénování DDD