Zum Inhalt springen
_CORE
KI & Agentensysteme Unternehmensinformationssysteme Cloud & Platform Engineering Datenplattform & Integration Sicherheit & Compliance QA, Testing & Observability IoT, Automatisierung & Robotik Mobile & Digitale Produkte Banken & Finanzen Versicherungen Öffentliche Verwaltung Verteidigung & Sicherheit Gesundheitswesen Energie & Versorgung Telko & Medien Industrie & Fertigung Logistik & E-Commerce Retail & Treueprogramme
Referenzen Technologien Blog Know-how Tools
Über uns Zusammenarbeit Karriere
CS EN DE
Lassen Sie uns sprechen

Service Discovery: Services in dynamischen Umgebungen finden

12. 10. 2015 Aktualisiert: 27. 03. 2026 2 Min. Lesezeit CORE SYSTEMSai
Dieser Artikel wurde veröffentlicht im Jahr 2015. Einige Informationen können veraltet sein.
Service Discovery: Services in dynamischen Umgebungen finden

In dynamischen containerisierten Umgebungen ändern sich IP-Adressen und Ports ständig. Service Discovery löst das fundamentale Problem — wie Services einander finden.

Warum statische Konfiguration nicht ausreicht

In einer traditionellen Umgebung reicht eine Konfigurationsdatei mit Service-IP-Adressen aus. In einer containerisierten Umgebung funktioniert das nicht mehr — Container werden dynamisch erstellt und zerstört, IP-Adressen ändern sich, und Services skalieren horizontal.

Service Discovery registriert Services automatisch beim Start und deregistriert sie beim Herunterfahren. Clients fragen die Registry statt hartcodierte Adressen ab.

Client-Side vs. Server-Side Discovery

Zwei grundlegende Ansätze:

Client-Side Discovery — der Client fragt die Registry ab und wählt eine Instanz:

  • Der Client kontrolliert die Load-Balancing-Strategie
  • Direkte Kommunikation ohne Vermittler
  • Netflix Eureka + Ribbon ist ein typisches Beispiel

Server-Side Discovery — der Client ruft einen Load Balancer auf, der das Routing übernimmt:

  • Einfacher für Clients
  • Zentraler Punkt für Monitoring
  • AWS ELB, Kubernetes Service sind Beispiele

Kubernetes verwendet Server-Side Discovery mit kube-dns für DNS-basierte Auflösung.

Consul, etcd und ZooKeeper

Drei populäre Tools für Service Discovery:

  • Consul (HashiCorp) — Service Discovery + Health Checking + KV-Store + Multi-Datacenter. Die vollständigste Lösung.
  • etcd (CoreOS) — verteilter KV-Store, die Grundlage von Kubernetes. Einfach und zuverlässig.
  • ZooKeeper (Apache) — der Veteran, umfassend, aber höhere Betriebskosten.

Consul bietet ein DNS-Interface — Services sind als service-name.service.consul erreichbar, was die Integration vereinfacht.

Health Checking und Resilienz

Service Discovery ohne Health Checking ist gefährlich — Clients können an nicht funktionierende Instanzen geroutet werden.

Consul unterstützt:

  • HTTP Health Checks
  • TCP-Port-Checks
  • Skript-basierte Checks
  • TTL-basierte Heartbeats

Die Kombination von Service Discovery mit dem Circuit-Breaker-Pattern (Hystrix) stellt sicher, dass der Ausfall eines Services keinen kaskadierenden Ausfall des gesamten Systems verursacht.

Fazit: Ein Fundament der Microservices-Infrastruktur

Service Discovery ist ein wesentlicher Baustein für Microservices-Architektur. Wir empfehlen Consul als Standardwahl dank seiner vollständigen Feature-Palette. In einer Kubernetes-Umgebung ist Discovery eingebaut — aber das Verständnis der zugrunde liegenden Prinzipien ist auch dort wichtig.

service discoveryconsuletcdmicroservicesinfrastrukturadistribuované systémy
Teilen:

CORE SYSTEMS

Wir bauen Kernsysteme und KI-Agenten, die den Betrieb am Laufen halten. 15 Jahre Erfahrung mit Enterprise-IT.

Brauchen Sie Hilfe bei der Implementierung?

Unsere Experten helfen Ihnen bei Design, Implementierung und Betrieb. Von der Architektur bis zur Produktion.

Kontaktieren Sie uns
Brauchen Sie Hilfe bei der Implementierung? Termin vereinbaren