Freigeben über


Serviceorientierte Architektur

Tipp

Dieser Inhalt ist ein Auszug aus dem eBook .NET Microservices Architecture for Containerized .NET Applications, verfügbar auf .NET Docs oder als kostenlose herunterladbare PDF, die offline gelesen werden kann.

.NET Microservices-Architektur für containerisierte .NET-Anwendungen eBook-Cover-Thumbnail.

Dienstorientierte Architektur (SOA) war ein überlasteter Begriff und bedeutete für verschiedene Menschen unterschiedliche Dinge. Aber als gemeinsamer Nenner bedeutet SOA, dass Sie Ihre Anwendung strukturieren, indem Sie sie in mehrere Dienste (am häufigsten als HTTP-Dienste) dekompilieren, die als verschiedene Typen wie Subsysteme oder Ebenen klassifiziert werden können.

Diese Dienste können jetzt als Docker-Container bereitgestellt werden, die Bereitstellungsprobleme lösen, da alle Abhängigkeiten im Containerimage enthalten sind. Wenn Sie jedoch SOA-Anwendungen skalieren müssen, haben Sie möglicherweise Skalierbarkeits- und Verfügbarkeitsprobleme, wenn Sie basierend auf einzelnen Docker-Hosts bereitstellen. Hier können Docker-Clustering-Software oder ein Orchestrator Ihnen helfen, wie in späteren Abschnitten erläutert, in denen Bereitstellungsansätze für Microservices beschrieben werden.

Docker-Container sind nützlich (aber nicht erforderlich) sowohl für herkömmliche dienstorientierte Architekturen als auch für die komplexeren Microservices-Architekturen.

Microservices werden von SOA abgeleitet, aber SOA unterscheidet sich von der Microservices-Architektur. Features wie große zentrale Broker, zentrale Orchestratoren auf Organisationsebene und der Enterprise Service Bus (ESB) sind typisch für SOA. In den meisten Fällen handelt es sich jedoch um Antimuster in der Microservice-Community. In der Tat argumentieren einige Leute, dass "Die Microservice-Architektur ist SOA richtig gemacht".

Dieser Leitfaden konzentriert sich auf Microservices, da ein SOA-Ansatz weniger präskriptiv ist als die Anforderungen und Techniken, die in einer Microservice-Architektur verwendet werden. Wenn Sie wissen, wie Sie eine microservicebasierte Anwendung erstellen, wissen Sie auch, wie Sie eine einfachere dienstorientierte Anwendung erstellen.