Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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.
Modularita a lehká povaha rozhraní .NET 8 je ideální pro kontejnery. Když nasadíte a spustíte kontejner, jeho image je mnohem menší s .NET 8 než s rozhraním .NET Framework. Pokud chcete použít rozhraní .NET Framework pro kontejner, musíte svoji image založit na imagi Windows Server Core, která je mnohem těžší než image Windows Nano Serveru nebo Linuxu, které používáte pro .NET 8.
Kromě toho je .NET 8 multiplatformní, takže můžete nasazovat serverové aplikace s imagemi kontejnerů linuxu nebo Windows. Pokud ale používáte tradiční rozhraní .NET Framework, můžete nasadit pouze image založené na jádru Windows Serveru.
Následuje podrobnější vysvětlení, proč zvolit .NET 8.
Vývoj a nasazení napříč platformami
Jasně, pokud vaším cílem je mít aplikaci (webovou aplikaci nebo službu), která může běžet na více platformách podporovaných Dockerem (Linuxem a Windows), je správnou volbou .NET 8, protože rozhraní .NET Framework podporuje pouze Windows.
.NET 8 také podporuje macOS jako vývojovou platformu. Když ale nasadíte kontejnery na hostitele Dockeru, musí být tento hostitel (aktuálně) založený na Linuxu nebo Windows. Například ve vývojovém prostředí můžete použít virtuální počítač s Linuxem spuštěný na Macu.
Visual Studio poskytuje integrované vývojové prostředí (IDE) pro Windows a podporuje vývoj dockeru.
Visual Studio Code můžete použít také v systémech macOS, Linux a Windows. Visual Studio Code plně podporuje .NET 8, včetně IntelliSense a ladění. Vzhledem k tomu, že VS Code je jednoduchý editor, můžete ho použít k vývoji kontejnerizovaných aplikací na počítači ve spojení s Rozhraním příkazového řádku Dockeru a rozhraním .NET CLI. Můžete také cílit na .NET 8 s většinou editorů třetích stran, jako jsou Sublime, Emacs, vi a opensourcový projekt OmniSharp, který také poskytuje podporu IntelliSense.
Kromě prostředí IDE a editorů můžete použít rozhraní příkazového řádku .NET pro všechny podporované platformy.
Použití kontejnerů pro nové projekty ("zelené pole")
Kontejnery se běžně používají ve spojení s architekturou mikroslužeb, i když se dají použít také ke kontejnerizaci webových aplikací nebo služeb, které se řídí jakýmkoli vzorem architektury. Rozhraní .NET Framework můžete použít v kontejnerech Windows, ale modulární a lehká povaha rozhraní .NET 8 je ideální pro kontejnery a architektury mikroslužeb. Při vytváření a nasazování kontejneru je jeho image mnohem menší s .NET 8 než s rozhraním .NET Framework.
Vytváření a nasazování mikroslužeb do kontejnerů
Tradiční rozhraní .NET Framework můžete použít k vytváření aplikací založených na mikroslužbách (bez kontejnerů) pomocí prostých procesů. Díky tomu je rozhraní .NET Framework již nainstalované a sdílené napříč procesy, procesy jsou lehké a rychle se spustí. Pokud ale používáte kontejnery, image pro tradiční rozhraní .NET Framework je založená také na windows Serveru Core a je příliš silná pro přístup k mikroslužbám na kontejnerech. Týmy však hledaly příležitosti ke zlepšení prostředí pro uživatele rozhraní .NET Framework. V poslední době byla velikost imagí kontejneru Windows Server Core zmenšena na >40 % menší.
Na druhou stranu je .NET 8 nejlepším kandidátem, pokud používáte systém orientovaný na mikroslužby, který je založený na kontejnerech, protože .NET 8 je odlehčený. Kromě toho jsou související image kontejnerů pro Linux nebo Windows Nano Server štíhlé a malé, takže kontejnery jsou lehké a rychlé ke spuštění.
Mikroslužba má být co nejmenší: být při otáčení světla, mít malou stopu, aby měla malý ohraničený kontext (kontrola DDD, návrh řízený doménou), aby představoval malou oblast obav a aby bylo možné rychle začít a zastavit. Pro tyto požadavky budete chtít použít malé a rychlé vytvoření instance imagí kontejneru, jako je image kontejneru .NET 8.
Architektura mikroslužeb také umožňuje kombinovat technologie napříč hranicemi služby. Tento přístup umožňuje postupně migrovat na .NET 8 pro nové mikroslužby, které fungují ve spojení s jinými mikroslužbami nebo se službami vyvinutými s využitím Node.js, Pythonu, Javy, Jazyka Go Nebo jiných technologií.
Nasazení vysoké hustoty ve škálovatelných systémech
Pokud váš systém založený na kontejnerech potřebuje nejlepší možnou hustotu, členitost a výkon, jsou nejlepšími možnostmi .NET a ASP.NET Core. ASP.NET Core je až 10krát rychlejší než ASP.NET v tradičním rozhraní .NET Framework a vede k dalším oblíbeným oborovým technologiím pro mikroslužby, jako jsou servlety Java, Go a Node.js.
Tento přístup je zvlášť relevantní pro architektury mikroslužeb, ve kterých můžete mít spuštěné stovky mikroslužeb (kontejnerů). Díky ASP.NET imagí Core (založených na modulu runtime .NET) v Linuxu nebo Windows Nano můžete spustit systém s mnohem nižším počtem serverů nebo virtuálních počítačů, což nakonec šetří náklady na infrastrukturu a hostování.