Eine Mikrodienstarchitektur (oft als Mikrodienste bezeichnet) bezeichnet einen Architekturstil zur Entwicklung von Anwendungen. Mit Mikrodiensten kann eine große Anwendung in kleinere, unabhängige Elemente mit einem eigenen Zuständigkeitsbereich aufgeteilt werden. Zur Verarbeitung einer einzelnen Nutzeranfrage lässt sich eine auf Mikrodiensten beruhende Anwendung auf vielen internen Mikrodiensten aufrufen.
Container sind ein gutes Beispiel für Mikrodienste. Damit können Sie sich auf die Entwicklung der Dienste konzentrieren, ohne sich Gedanken über die Abhängigkeiten machen zu müssen. Serverloses Computing ist ein weiterer gängiger Ansatz, der es Teams ermöglicht, Microservices auszuführen, ohne Server oder Infrastruktur zu verwalten, und Funktionen automatisch in Reaktion auf die Nachfrage zu skalieren.
Erfahren Sie mehr darüber, wie Sie mit Google Kubernetes Engine (GKE) und Cloud Run Anwendungen auf der Basis von Mikrodiensten durch Verwendung von Containern erstellen können.
Startbereit? Neukunden erhalten ein Guthaben im Wert von 300 $ für Google Cloud.
Eine Mikrodienstarchitektur ist eine Art Anwendungsarchitektur, in der die Anwendung als eine Sammlung von Diensten entwickelt wird. Sie bietet das Framework, mit dem Sie Diagramme und Dienste der Mikrodienstarchitektur unabhängig voneinander entwickeln, bereitstellen und verwalten können.
Innerhalb einer Mikrodienstarchitektur ist jeder Mikrodienst ein einzelner Dienst, der für ein Anwendungsfeature und die Verarbeitung diskreter Aufgaben entwickelt wurde. Jeder Mikrodienst kommuniziert über einfache Schnittstellen mit anderen Diensten, um Geschäftsprobleme zu lösen.
Traditionelle monolithische Anwendungen werden als eine einzige, einheitliche Einheit entwickelt. Alle Komponenten sind eng miteinander verknüpft und teilen sich Ressourcen und Daten. Dies kann zu Problemen bei der Skalierung, Bereitstellung und Wartung der Anwendung führen, insbesondere wenn sie komplexer wird. Im Gegensatz dazu wird bei der Mikrodienstarchitektur eine Anwendung in eine Reihe kleiner, unabhängiger Dienste zerlegt. Jeder Mikrodienst ist in sich geschlossen und hat seinen eigenen Code, seine eigenen Daten und Abhängigkeiten. Dieser Ansatz bietet mehrere potenzielle Vorteile:
Für Anwendungen, die noch nicht groß oder komplex genug sind, um eine vollständig verteilte Mikrodienstarchitektur zu rechtfertigen, ist der „modulare Monolith“ eine leistungsstarke Option. Bei diesem Ansatz wird eine einzelne Anwendungsbereitstellungseinheit (ein Monolith) beibehalten, aber die Codebasis der Anwendung wird streng in stark kohäsive, lose gekoppelte interne Module aufgeteilt, die auf der Geschäftsdomain basieren. Dies bietet die organisatorischen Vorteile von Mikrodiensten (klare Grenzen, unabhängige Entwicklung) ohne den vollen Aufwand für die Verwaltung eines verteilten Systems.
Viele Unternehmen aus verschiedenen Branchen haben eine Mikrodienstarchitektur eingeführt, um spezifische geschäftliche Herausforderungen zu bewältigen und Innovationen voranzutreiben. Hier einige Beispiele:
In der Regel werden Mikrodienste verwendet, um die Anwendungsentwicklung zu beschleunigen. Häufig werden Mikrodienstarchitekturen mit Java und insbesondere mit Spring Boot erstellt. Mikrodienste lassen sich mit einer dienstorientierten Architektur vergleichen. Beide haben das gleiche Ziel: Monolithische Anwendungen werden in kleinere Komponenten aufgeteilt. Sie verfolgen jedoch unterschiedliche Ansätze. Im Folgenden finden Sie einige Beispiele für Mikrodienstarchitekturen:
Websitemigration
Eine komplexe Website, die auf einer monolithischen Plattform gehostet wird, kann zu einer cloud- und containerbasierten Mikrodienstplattform migriert werden.
Medieninhalte
Mit der Mikrodienstarchitektur können Bilder und Video-Assets in einem skalierbaren Objektspeichersystem gespeichert und direkt im Web oder auf Mobilgeräten bereitgestellt werden.
Transaktionen und Rechnungen
Zahlungsabwicklung und Bestellung können als unabhängige Diensteinheiten aufgeteilt werden. Zahlungen werden dann weiterhin akzeptiert, auch wenn die Rechnungsstellung nicht funktioniert.
Datenverarbeitung
Eine Mikrodienstplattform kann die Cloud-Unterstützung für vorhandene modulare Datenverarbeitungsdienste erweitern.
Um die Komplexität verteilter Systeme zu bewältigen und ihre Leistung zu optimieren, setzen Architektinnen und Architekten heute auf mehrere grundlegende Entwurfsmuster.
Service Mesh
Ereignisgesteuerte Architektur (EDA)
Profitieren Sie von einem Guthaben in Höhe von 300 $, um Google Cloud und mehr als 20 immer kostenlose Produkte kennenzulernen.