Sdílet prostřednictvím


Architektura orientovaná na služby

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

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

Architektura zaměřená na služby (SOA) byla nadměrně používaným termínem a znamenala různé věci pro různé lidi. Jako běžný jmenovatel ale SOA znamená, že aplikaci strukturujete tak, že ji rozdělíte do více služeb (nejčastěji jako služby HTTP), které se dají klasifikovat jako různé typy, jako jsou subsystémy nebo vrstvy.

Tyto služby je teď možné nasadit jako kontejnery Dockeru, které řeší problémy s nasazením, protože všechny závislosti jsou součástí image kontejneru. Pokud ale potřebujete vertikálně navýšit kapacitu aplikací SOA, můžete mít problémy se škálovatelností a dostupností, pokud nasazujete na základě jednoho hostitele Dockeru. Tady vám může pomoct software clusteringu Dockeru nebo orchestrátor, jak je vysvětleno v dalších částech, kde jsou popsané přístupy k nasazení mikroslužeb.

Kontejnery Dockeru jsou užitečné (ale nevyžadují) jak pro tradiční architektury orientované na služby, tak pro pokročilejší architektury mikroslužeb.

Mikroslužby jsou odvozené od SOA, ale SOA se liší od architektury mikroslužeb. Funkce jako velké centrální zprostředkovatelé, centrální orchestrátory na úrovni organizace a služba Enterprise Service Bus (ESB) jsou typické v SOA. Ve většině případů se ale jedná o anti-vzory v komunitě mikroslužeb. Ve skutečnosti někteří lidé tvrdí, že "Architektura mikroslužeb je SOA správná".

Tato příručka se zaměřuje na mikroslužby, protože přístup SOA je méně preskriptivní než požadavky a techniky používané v architektuře mikroslužeb. Pokud víte, jak vytvořit aplikaci založenou na mikroslužbách, víte také, jak vytvořit jednodušší aplikaci zaměřenou na službu.