Megosztás a következőn keresztül:


Mikor válassza a .NET-et Docker-tárolókhoz

Tipp.

Ez a tartalom egy részlet a .NET-alkalmazásokhoz készült .NET-alkalmazásokhoz készült eBook, .NET Microservices Architecture című eBookból, amely elérhető a .NET Docs-on vagy egy ingyenesen letölthető PDF-fájlként, amely offline módban is olvasható.

.NET mikroszolgáltatások architektúrája konténerizált .NET alkalmazásokhoz e-könyv borító miniatűr.

A .NET 8 modularitása és könnyűsége tökéletessé teszi a tárolókhoz. Tároló üzembe helyezésekor és indításakor a rendszerképe sokkal kisebb a .NET 8-nál, mint a .NET-keretrendszer. Ezzel szemben a .NET-keretrendszer tárolóhoz való használatához a rendszerképet a Windows Server Core rendszerképre kell alapoznia, ami sokkal nehezebb, mint a .NET 8-hoz használt Windows Nano Server- vagy Linux-rendszerképek.

Emellett a .NET 8 platformfüggetlen, így linuxos vagy Windows tárolólemezképekkel is üzembe helyezhet kiszolgálóalkalmazásokat. Ha azonban a hagyományos .NET-keretrendszer használja, csak Windows Server Core-alapú rendszerképeket helyezhet üzembe.

Az alábbiakban részletesebb magyarázatot olvashat arról, hogy miért érdemes a .NET 8-at választani.

Platformfüggetlen fejlesztés és üzembe helyezés

Nyilvánvaló, hogy ha a cél egy olyan alkalmazás (webalkalmazás vagy szolgáltatás) használata, amely a Docker által támogatott platformokon (Linux és Windows) futtatható, a megfelelő választás a .NET 8, mivel .NET-keretrendszer csak a Windowst támogatja.

A .NET 8 a macOS-t is támogatja fejlesztési platformként. Ha azonban tárolókat helyez üzembe egy Docker-gazdagépen, a gazdagépnek (jelenleg) Linuxon vagy Windowson kell alapulnia. Fejlesztési környezetben például használhat egy Macen futó Linux rendszerű virtuális gépet.

A Visual Studio integrált fejlesztési környezetet (IDE) biztosít a Windowshoz, és támogatja a Docker-fejlesztést.

A Visual Studio Code macOS, Linux és Windows rendszeren is használható. A Visual Studio Code teljes mértékben támogatja a .NET 8-at, beleértve az IntelliSense-t és a hibakeresést. Mivel a VS Code egy egyszerű szerkesztő, tárolóalapú alkalmazásokat fejleszthet a gépen a Docker parancssori felületével és a .NET CLI-vel együtt. A .NET 8-at a legtöbb külső szerkesztővel is megcélzhatja, például a Sublime, az Emacs, a vi és a nyílt forráskódú OmniSharp-projekttel, amely intelliSense-támogatást is biztosít.

Az azonosítók és a szerkesztők mellett a .NET CLI-t is használhatja az összes támogatott platformhoz.

Tárolók használata új ("zöldmezős") projektekhez

A tárolókat általában mikroszolgáltatás-architektúrával együtt használják, de bármilyen architekturális mintát követő webalkalmazások vagy szolgáltatások tárolózására is használhatók. Windows-tárolókon .NET-keretrendszer is használhat, de a .NET 8 modularitása és könnyűsége tökéletessé teszi a tárolók és a mikroszolgáltatás-architektúrák számára. Tároló létrehozásakor és üzembe helyezésekor a rendszerképe sokkal kisebb a .NET 8-nál, mint a .NET-keretrendszer.

Mikroszolgáltatások létrehozása és üzembe helyezése tárolókon

A hagyományos .NET-keretrendszer használhatja mikroszolgáltatás-alapú alkalmazások (tárolók nélkül) egyszerű folyamatok használatával történő létrehozásához. Így, mivel a .NET-keretrendszer már telepítve és megosztva vannak a folyamatok között, a folyamatok könnyűek és gyorsak. Ha azonban tárolókat használ, a hagyományos .NET-keretrendszer rendszerképe a Windows Server Core-on is alapul, és ez túl nehézvé teszi a mikroszolgáltatás-tárolók megközelítését. A csapatok azonban az .NET-keretrendszer felhasználók élményének javítására is kerestek lehetőségeket. A Közelmúltban a > csökkent.

Másrészt a .NET 8 a legjobb választás, ha tárolókon alapuló mikroszolgáltatás-orientált rendszert használ, mert a .NET 8 könnyű. Emellett a kapcsolódó tárolólemezképek Linux vagy Windows Nano Server esetén is soványak és kicsik, így a tárolók könnyűek és gyorsan indíthatók.

A mikroszolgáltatásoknak a lehető legkisebbnek kell lenniük: könnyűnek kell lenniük a pörgéskor, hogy kis lábnyomuk legyen, egy kis határos környezettel (DDD ellenőrzése, tartományalapú tervezés), hogy egy kis területet képviseljenek, és gyorsan tudjanak elindulni és leállni. Ezekhez a követelményekhez kis méretű és gyorsan példányosított tárolórendszerképeket kell használnia, például a .NET 8 tárolórendszerképet.

A mikroszolgáltatás-architektúra lehetővé teszi a technológiák egy szolgáltatáshatáron belüli keverését is. Ez a megközelítés lehetővé teszi a .NET 8-ra történő fokozatos migrálást olyan új mikroszolgáltatások esetében, amelyek más mikroszolgáltatásokkal vagy Node.js, Python, Java, GoLang vagy más technológiákkal fejlesztett szolgáltatásokkal együtt működnek.

Nagy sűrűség üzembe helyezése skálázható rendszerekben

Ha a tárolóalapú rendszernek a lehető legjobb sűrűségre, részletességre és teljesítményre van szüksége, a .NET és a ASP.NET Core a legjobb választás. ASP.NET Core akár 10-szer gyorsabb, mint ASP.NET a hagyományos .NET-keretrendszer, és más népszerű iparági technológiákhoz vezet a mikroszolgáltatásokhoz, például a Java servletshez, a Go-hoz és a Node.js.

Ez a megközelítés különösen releváns a mikroszolgáltatás-architektúrák esetében, ahol több száz mikroszolgáltatás (tároló) futhat. A Linuxon vagy Windows Nanoon futó ASP.NET Core-rendszerképek (a .NET-futtatókörnyezet alapján) sokkal kevesebb kiszolgálóval vagy virtuális géppel futtathatják a rendszert, ami végső soron az infrastruktúra és az üzemeltetés költségeit takarítja meg.