Sdílet prostřednictvím


Řešení obchodní složitosti v mikroslužbě s využitím vzorů DDD a CQRS

Návod

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é lze číst offline.

eBook o architektuře mikroslužeb .NET pro kontejnerizované aplikace .NET, miniatura na obálce.

Navrhujte model 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é od znalostí odborníků na domény s neustále se měnícími obchodními pravidly. Vzory architektury používané v této části vycházejí z přístupů založených na návrhu řízeném doménou (DDD) a přístupu k oddělení odpovědnosti příkazů a dotazů (CQRS), jak je znázorněno na obrázku 7–1.

Diagram porovnávání externích a interních vzorů architektury

Rozdíl mezi externí architekturou: vzory mikroslužeb, brány rozhraní API, odolná komunikace, pub/sub atd. a interní architektura: data driven/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, jako je například implementace služby webového rozhraní API ASP.NET Core nebo zpřístupnění metadat Swaggeru pomocí Swashbuckle nebo NSwag, se ale vztahují také na pokročilejší mikroslužby implementované interně pomocí vzorů DDD. Tato část je rozšířením předchozích částí, protože většina dříve vysvětlených postupů 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 ve svých aplikacích opakovaně používat.

DDD je velké téma s bohatou sadou materiálů pro výuku. Můžete začít s knihami, jako je Domain-Driven Design od Erica Evanse, a dalšími materiály od Vaughna Vernona, Jimmyho Nilssona, Grega Younga, Udiho Dahana, Jimmyho Bogarda a mnoha dalších odborníků na DDD/CQRS. Především se musíte pokusit naučit se používat techniky DDD z konverzací, používání pracovní tabule a sezení k modelování domén s odborníky ve vaší konkrétní obchodní oblasti.

Dodatečné zdroje

DDD (NávrhDomain-Driven)
Knihy DDD
Trénování DDD