Mikroservices in .NET
Mikroservices in .NET
Zusammenfassung:
Einleitung
Das Buch „Microservices in .NET“ von Christian Horsdal erschien 2017 und wurde sofort zu einem der praktischsten Leitfäden für den Aufbau einer Microservice-Architektur auf der .NET-Plattform. Im Gegensatz zu vielen theoretischen Werken bietet dieses Buch dem Leser einen konsequenten Weg von der ersten Codezeile bis zur Bereitstellung eines fertigen Systems in Docker-Containern. Obwohl seit der Veröffentlichung einige Jahre vergangen sind, bleiben die vom Autor beschriebenen Grundprinzipien und Ansätze auch heute noch relevant, insbesondere für Entwickler, die von monolithischen Anwendungen zu Microservices wechseln.
Worum geht es in dem Buch
Das Buch ist als durchgängiges Beispiel aufgebaut: Der Autor erstellt Schritt für Schritt eine reale Anwendung – einen Online-Shop, der in mehrere unabhängige Microservices unterteilt ist. Jedes Kapitel widmet sich einem der wichtigsten Aspekte der Microservice-Architektur:
- Entwurf von Microservices – wie man die Grenzen von Diensten richtig absteckt, damit sie lose gekoppelt und leicht zu warten sind.
- Kommunikation zwischen Diensten – synchrone Aufrufe über HTTP/REST und asynchrone Interaktion über Nachrichtenwarteschlangen (RabbitMQ).
- Datenverarbeitung – Arbeit mit Datenbanken in einer verteilten Umgebung, das Saga-Muster zur Transaktionsverwaltung.
- Testen – Teststrategien für Microservices: Modul-, Integrations- und End-to-End-Tests.
- Bereitstellung und DevOps – Verpacken von Diensten in Docker-Container, Orchestrierung mit Docker Compose, Einrichtung von CI/CD.
- Überwachung und Protokollierung – zentrale Protokollsammlung, Metriken, Health Checks.
Für wen ist dieses Buch geeignet
Das Buch richtet sich an C#-Entwickler, die bereits Erfahrung mit der Erstellung von Webanwendungen mit ASP.NET haben. Wenn Sie mit den Grundlagen von .NET Framework oder .NET Core vertraut sind, mit Visual Studio arbeiten können und wissen, was eine REST-API ist, werden Sie den Stoff leicht bewältigen. Für Anfänger in .NET wird es etwas schwieriger sein: Der Autor erklärt keine grundlegenden Konzepte der Sprache und Plattform, sondern geht sofort zu Architekturentscheidungen über.
Das Buch wird auch für Softwarearchitekten nützlich sein, die eine praktische Umsetzung von Microservices in .NET sehen möchten, und für Teamleiter, die den Übergang vom Monolithen zu Microservices planen.
Was der Leser lernen wird
- Wie man eine monolithische Anwendung in Microservices aufteilt, ohne einen „verteilten Monolithen“ zu schaffen.
- Wie man eine zuverlässige Kommunikation zwischen Diensten mit HTTP und Nachrichtenwarteschlangen organisiert.
- Wie man Daten in einem verteilten System verwaltet: Saga-Muster, CQRS, Event Sourcing (kurze Einführung).
- Wie man .NET-Anwendungen mit Docker containerisiert und mit Docker Compose orchestriert.
- Wie man kontinuierliche Integration und Bereitstellung (CI/CD) für Microservices einrichtet.
- Wie man Überwachung, Protokollierung und Health Checks zum fertigen System hinzufügt.
Stärken des Buches
Praktische Ausrichtung. Im Gegensatz zu vielen Büchern, die sich auf die Theorie beschränken, liefert Horsdal fertigen Code, der sofort ausgeführt und modifiziert werden kann. Alle Beispiele sind auf GitHub verfügbar.
Schrittweise Darstellung. Jedes Kapitel baut logisch auf dem vorherigen auf. Sie springen nicht zwischen Themen, sondern bauen das System konsequent auf.
Schwerpunkt auf Docker. Zum Zeitpunkt der Veröffentlichung des Buches war Docker für .NET-Entwickler noch neu. Der Autor erklärt detailliert, wie man Dienste in Container verpackt, was das Buch zu einer hervorragenden Einführung in die Containerisierung macht.
Klare Fokussierung auf .NET. Das Buch versucht nicht, alle Sprachen und Plattformen abzudecken – es widmet sich vollständig dem .NET-Ökosystem, was es besonders wertvoll für C#-Entwickler macht.
Empfehlung
Das Buch ist nützlich für:
- C#-Entwickler, die die Microservice-Architektur erlernen möchten.
- Teams, die
Empfehlungen
Asynchrones TypeScript: Das vollständige Handbuch
Sauberer PHP-Code: Lesbaren und wartbaren Code schreiben
Asynchrones Kotlin: Das vollständige Handbuch
C++: Tipps und Best Practices. Schreiben Sie perfekten Code
Swift für Data Science: Praktischer Leitfaden zur Datenanalyse auf iOS und macOS
Essential TypeScript 4