Was sind Microservices?
Microservices sind ein Architekturansatz, bei dem eine Anwendung aus vielen kleinen, unabhängigen Services besteht. Jeder Service erfüllt eine klar abgegrenzte Aufgabe. Services können unabhängig entwickelt, deployed und skaliert werden.
Was ist der Unterschied zwischen Monolith und Microservices?
Ein Monolith ist eine große, zusammenhängende Anwendung. Microservices sind in viele kleine Services aufgeteilt. Microservices bieten mehr Flexibilität, sind aber komplexer.
Welche Vorteile bieten Microservices?
Unabhängige Deployments sind möglich. Teams können autonom arbeiten. Skalierung erfolgt gezielt pro Service.
Welche Nachteile haben Microservices?
Höhere Komplexität durch verteilte Systeme. Netzwerkkommunikation kann fehleranfällig sein. Monitoring und Debugging sind schwieriger.
Wann sollte man Microservices einsetzen?
Bei großen, wachsenden Systemen. Wenn mehrere Teams parallel arbeiten. Bei Bedarf nach unabhängiger Skalierung.
Wann sind Microservices ungeeignet?
Bei kleinen Anwendungen. Wenn das Team wenig Erfahrung hat. Der Overhead kann zu hoch sein.
Was bedeutet Service-Grenzen richtig schneiden?
Services sollten fachlich geschnitten sein. Domain-Driven Design hilft dabei. Zu feine Schnitte verursachen Probleme.
Was ist Domain-Driven Design im Kontext von Microservices?
DDD hilft bei der Service-Aufteilung. Bounded Contexts definieren Grenzen. Jeder Service besitzt seine eigene Domäne.
Was bedeutet Datenbank pro Service?
Jeder Service verwaltet seine eigene Datenbank. Direkter Zugriff zwischen Services ist verboten. Konsistenz wird über Events erreicht.
Wie kommunizieren Microservices miteinander?
Über synchrone APIs oder asynchrone Events. REST, gRPC oder Messaging werden genutzt. Asynchronität erhöht Entkopplung.
Was ist synchrone Kommunikation?
Services warten auf eine Antwort. REST ist ein typisches Beispiel. Latenzen können sich aufschaukeln.
Was ist asynchrone Kommunikation?
Services kommunizieren über Events. Sender wartet nicht auf Antwort. Systeme sind robuster.
Was ist Event-Driven Architecture?
Events repräsentieren Zustandsänderungen. Andere Services reagieren darauf. Lose Kopplung wird erreicht.
Was ist ein API Gateway?
Ein API Gateway ist ein zentraler Einstiegspunkt. Es übernimmt Routing und Security. Clients werden vereinfacht.
Was ist Service Discovery?
Services finden sich dynamisch. Registry-Systeme werden genutzt. Hardcodierte URLs werden vermieden.
Was ist Circuit Breaker Pattern?
Circuit Breaker verhindert Kettenausfälle. Fehlerhafte Services werden isoliert. Systeme bleiben stabil.
Was ist Bulkhead Pattern?
Bulkhead isoliert Ressourcen. Fehler bleiben lokal. Stabilität wird erhöht.
Was ist Saga Pattern?
Saga steuert verteilte Transaktionen. Schritte werden kompensiert. Konsistenz wird eventual erreicht.
Was ist Distributed Tracing?
Tracing verfolgt Requests über Services hinweg. Tools wie Jaeger werden genutzt. Fehlerursachen werden sichtbar.
Was ist Observability bei Microservices?
Observability umfasst Logs, Metriken und Traces. Systeme werden transparent. Fehler lassen sich besser analysieren.
Was ist Konfigurationsmanagement?
Konfiguration wird zentral verwaltet. Änderungen erfolgen ohne Re-Deploy. Konsistenz wird sichergestellt.
Was ist Security in Microservices?
Security ist dezentral und komplex. Authentifizierung erfolgt zentral. Autorisierung pro Service.
Was ist OAuth2 im Microservice-Kontext?
OAuth2 wird für Authentifizierung genutzt. Tokens werden zwischen Services weitergegeben. Zentrale Identity Provider sind üblich.
Was ist Zero Trust Architecture?
Kein Service vertraut implizit. Jeder Request wird geprüft. Sicherheit wird erhöht.
Was ist Skalierung bei Microservices?
Services werden unabhängig skaliert. Last wird gezielt verteilt. Kosten werden optimiert.
Was ist Blue-Green Deployment bei Microservices?
Zwei Versionen laufen parallel. Umschalten erfolgt ohne Downtime. Risiko wird minimiert.
Was ist Canary Deployment bei Microservices?
Neue Version wird schrittweise ausgerollt. Nur wenige Nutzer sehen sie. Fehler werden früh erkannt.
Was sind typische Fehler bei Microservices?
Zu viele Services. Falsche Service-Grenzen. Fehlendes Monitoring.
Wie testet man Microservices?
Unit- und Integrationstests sind wichtig. Contract Tests sichern APIs. End-to-End-Tests ergänzen.
Wann sind Microservices erfolgreich?
Bei klarer Architektur. Mit guter Automatisierung. Und erfahrenen Teams.
Last changeda month ago