it:sw:dot_net_core
Obsah
.NET v architektuře mikroslužeb
.NET (dříve .NET Core) je v současnosti jednou z nejpreferovanějších platforem pro budování mikroslužeb (microservices). Díky své modularitě, vysokému výkonu a multiplatformnosti umožňuje efektivní provoz v kontejnerech a cloudových prostředích.
Historie a evoluce
Cesta od monolitického frameworku k agilním mikroslužbám probíhala v několika fázích:
- .NET Framework (2002–2019): Původní verze pevně spjatá s Windows. Byla nevhodná pro mikroslužby kvůli velké velikosti, závislosti na OS a vysoké spotřebě paměti.
- .NET Core 1.0 (2016): Zásadní zlom. Microsoft představil kompletně přepsaný, open-source a multiplatformní framework. Poprvé bylo možné spouštět .NET na Linuxu v Dockeru.
- .NET Core 3.1 (2019): Verze s dlouhodobou podporou (LTS), která potvrdila dominanci v oblasti cloud-native aplikací.
- Sjednocení (.NET 5, 6, 7, 8 a 9): Od verze 5 se označení „Core“ vypouští. Moderní .NET sjednocuje vývoj pro web, desktop i mobil a přináší extrémní optimalizace výkonu.
Proč zvolit .NET pro mikroslužby?
V architektuře mikroslužeb vyniká .NET díky těmto vlastnostem:
- Modularita: Díky systému NuGet si každá mikroslužba stahuje pouze ty knihovny, které skutečně potřebuje.
- Vysoký výkon: V benchmarcích (např. TechEmpower) patří ASP.NET Core mezi nejrychlejší webové frameworky na světě.
- Kontejnerizace: Obrazy pro Docker jsou optimalizované a velmi malé (zejména při použití Alpine Linux nebo Native AOT).
- Side-by-side instalace: Na jednom serveru může běžet více mikroslužeb, každá s jinou verzí .NET, aniž by se ovlivňovaly.
Aktuální technologie a ekosystém
Při vývoji mikroslužeb v .NET se využívají tyto systémy:
1. Komunikační protokoly
- REST API (ASP.NET Core): Standard pro externí komunikaci.
- gRPC: Preferovaná volba pro interní komunikaci mezi mikroslužbami díky binární serializaci a nízké latenci.
- Message Brokers: Pro asynchronní komunikaci se využívají nástroje jako RabbitMQ, Apache Kafka nebo Azure Service Bus.
2. Správa dat
- Entity Framework (EF) Core: Moderní ORM pro práci s SQL i NoSQL databázemi.
- Dapper: „Micro-ORM“ používané v mikroslužbách, kde je kladen absolutní důraz na rychlost SQL dotazů.
3. Orchestrace a Deployment
- Docker: Základní jednotka pro balení mikroslužeb.
- Kubernetes (K8s): Standard pro správu, škálování a dohled nad stovkami běžících kontejnerů.
- .NET Aspire (Novinka): Názorový (opinionated) stack od Microsoftu, který zjednodušuje lokální vývoj a propojování distribuovaných aplikací.
Výzvy a systémy dohledu
Mikroslužby přinášejí komplexitu, kterou .NET řeší pomocí:
- Health Checks: Integrované rozhraní pro kontrolu stavu služby (využívá Kubernetes pro restarty).
- OpenTelemetry: Standard pro trasování požadavků napříč desítkami služeb (Distributed Tracing).
- Serilog / ELK Stack: Pro centralizované logování.
— Související pojmy: .NET Framework, C#, gRPC, Mikroslužby
it/sw/dot_net_core.txt · Poslední úprava: autor: admin
