iX 9/2021
S. 106
Wissen
Verteilte Systeme

Methoden zur Integration von Microservices

Direkter Draht

Dr. Sebastian Bindick

Microservice-Architekturen zerlegen Softwaresysteme in Subdienste mit abgrenzbarem Funktionsumfang und klaren Schnittstellen nach außen. Allerdings müssen die Services auch untereinander kommunizieren. Die Wahl der individuellen Methode hängt vom Anwendungsfall ab.

Microservice-Architekturen sind komplexe verteilte Systeme und unterliegen den üblichen Herausforderungen verteilter Datenverarbeitung: begrenzter Datendurchsatz im Netzwerk, erhöhte Latenzzeiten, Ausfälle des Netzwerks und Änderungen der Netzwerktopologie. In der Regel arbeiten die Dienste einer Microservice-Architektur dabei in eigenen separaten Prozessen über Servergrenzen hinweg und sind lediglich lose über das Netzwerk gekoppelt.

Anders als bei monolithischen Anwendungen stehen bei komplexen verteilten Microservice-Architekturen die Dienste zwar in Kontakt, arbeiten aber ansonsten separiert. Das bringt neue Herausforderungen mit sich (Abb. 1).

Grundsätzlich gilt: Je weniger die einzelnen Microservices miteinander kommunizieren, desto besser. Ein geeigneter Zuschnitt in fachlich abgrenzbare Umfänge (Bounded Contexts) nach der Domain-driven-Design-Methode mit minimierter Kommunikation zwischen den Services ist entscheidend für eine erfolgreiche und effiziente Architektur. Gänzlich ohne interne Kommunikation kommen die einzelnen Dienste allerdings nicht aus. Um übergeordnete Anwendungsfälle abzudecken, müssen die für Teilaufgaben zuständigen Microservices miteinander verknüpft werden.

Kommentieren