Funktionsweise von Microservices
article.detail.published-on:
September 21, 2021
article.detail.reading-time:
article.detail.minutes
Funktionsweise
Die Idee hinter dem Microservice-Architekturmuster steht ganz im Einklang mit der Unix-Philosophie „Do one thing, do it good“. Microservices unterscheiden sich dadurch, dass sie leicht zu ersetzen sind. So kann ein solcher Service innerhalb kurzer Zeit durch ein neues verantwortliches Entwicklungsteam ersetzt oder erstellt werden.
Jeder Microservice implementiert genau eine Funktion mit Fokus auf die User Experience. Microservices unterscheiden sich auch dadurch, dass sie nur in Gruppen entwickelt werden. Ein Team kann ebenso für die Entwicklung mehrerer Microservices verantwortlich sein, sofern diese technisch zusammenhängen.
Microservices sind von anderen Diensten und Prozessen isoliert. Diese Eigenschaft macht es möglich, dass grundsätzlich jeder Microservice eine andere Programmiersprache oder Datenbank verwenden kann. Wie alle anderen Dienste müssen auch Microservices sicher sein; Prozesse wie Monitoring oder Logging ermöglichen die Überwachung, Authentifizierungs- und Autorisierungsmethoden schützen Daten vor unberechtigtem Zugriff.
Software aus einzelnen Microservices erfordert eine große Infrastruktur. Um den Lastausgleich externer HTTP-Anfragen zu verwalten, werden sogenannte Load Balancer verwendet. Das Content Delivery Network steuert die Auslieferung statischer Inhalte.
Elemente von Microservices
Man unterscheidet zwischen Elementen, die für Geschäftsanforderungen verantwortlich sind, sowie Plattform- und Infrastrukturservices. Infrastruktur- und Plattformdienste übernehmen zentrale Aufgaben wie Monitoring oder Logging. Dienste, die Geschäftsanforderungen erfüllen, werden von einer Reihe von Plattform- oder Infrastrukturdiensten unterstützt. Sie übernehmen zentrale Aufgaben wie Webservice-Logging, Anwendungs- und Service-Monitoring, Betriebsdatenbanken, Konfigurationsmanagement, Autorisierung, Verschlüsselung und Authentifizierung sowie Softwareverteilung, Autoskalierung, A/B-Testing und Testing with Error Injection (FIT).
Darüber hinaus gibt es zentrale Routing-Dienste, die sich um die Zuweisung von URLs an Instanzen mit den entsprechenden Diensten kümmern. Ebenso gibt es Dienste zum Speichern von Daten, insbesondere Caching, relationale und NoSQL-Datenbanken, sowie BLOB-Speicher für beliebige Dateien.
Übersicht der gesamten Blogreihe über Microservices
article.detail.share
article.detail.categories
Checkliste für ein gutes Social Intranet
June 07, 2022
Das Social Intranet und seine Besonderheiten
May 03, 2022