Sobes.tech
Junior

Was sind Microservices?

sobes.tech KI

Antwort von AI

Mikroservices sind ein architektonischer Stil, bei dem die Anwendung als Sammlung kleiner, autonomer Dienste aufgebaut wird, von denen jeder eine bestimmte Geschäftsfunktion ausführt.

Hauptmerkmale:

  • Klein und fokussiert: Jeder Dienst löst eine enge Aufgabe.
  • Autonom: Können unabhängig entwickelt, bereitgestellt und skaliert werden.
  • Dezentrale Datenverwaltung: Jeder Dienst kann seine eigene Datenbank haben.
  • Interaktion zwischen Diensten: In der Regel über leichte Protokolle (z.B. REST, gRPC).
  • Fehlerresistenz: Der Ausfall eines Dienstes führt nicht zwangsläufig zum Ausfall der gesamten Anwendung.
  • Technologische Heterogenität: Verschiedene Dienste können unterschiedliche Programmiersprachen und Technologien verwenden.

Vorteile:

  • Schnellere Entwicklung und Bereitstellung.
  • Bessere Skalierbarkeit einzelner Komponenten.
  • Erhöhte Fehlertoleranz.
  • Einfachere Einführung neuer Technologien.

Nachteile:

  • Erhöhte Systemkomplexität.
  • Notwendigkeit, verteilte Transaktionen zu verwalten.
  • Schwierigkeiten bei Überwachung und Debugging.
  • Erfordert eine reifere DevOps-Kultur.

Vergleich mit Monolithen:

Merkmal Mikroservices Monolith
Größe Kleine, fokussierte Dienste Eine große Anwendung
Deployment Unabhängiges Deployment der Dienste Deployment der gesamten Anwendung
Skalierung Skalierung einzelner Dienste Skalierung der gesamten Anwendung
Fehlertoleranz Hoch (Ausfall eines Dienstes ist nicht kritisch) Niedrig (Ausfall eines Komponenten betrifft alles)
Technologien Nutzung verschiedener Stacks Einheitlicher Technologie-Stack
Entwicklungsteam Kleine, autonome Teams Ein großes Team
Komplexität Hoch (Interaktion zwischen Diensten) Niedrig (bei einfachen Anwendungen)
Datenverwaltung Dezentrale Verwaltung Zentrale Verwaltung