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 -- wie sich Dienste finden

17. 11. 2023 1 Min. Lesezeit intermediate

Architektur Fortgeschritten

Service Discovery – wie sich Dienste finden

Service DiscoveryMicroservicesConsul 3 min Lesezeit

Mechanismen der Service Discovery in Microservice-Architekturen. Client-side vs. Server-side Discovery, Consul und Kubernetes DNS.

Warum Service Discovery?

In Microservices werden Dienste dynamisch gestartet und gestoppt. IP-Adressen aendern sich. Service Discovery loest das Problem: Wie findet Dienst A die aktuelle Adresse von Dienst B?

Client-Side Discovery

Der Client fragt die Registry ab und entscheidet selbst, an welche Instanz er die Anfrage sendet.

const consul = require('consul')();
async function getServiceUrl(serviceName) {
    const services = await consul.health.service({
        service: serviceName, passing: true
    });
    const idx = Math.floor(Math.random() * services.length);
    const svc = services[idx].Service;
    return \`http://\${svc.Address}:\${svc.Port}\`;
}

Server-Side Discovery

Kubernetes verwendet Server-side Discovery nativ:

apiVersion: v1
kind: Service
metadata:
  name: order-service
spec:
  selector:
    app: order-service
  ports:
    - port: 80
      targetPort: 8080
# Aufruf: http://order-service.default.svc.cluster.local

Werkzeuge

  • Consul – Health Checking, KV Store, Multi-Datacenter
  • etcd – Grundlage von Kubernetes
  • Eureka – Netflix OSS, Java/Spring

Zusammenfassung

In Kubernetes ist Service Discovery out-of-the-box geloest. Ausserhalb von K8s sollten Sie Consul oder Eureka in Betracht ziehen.

Brauchen Sie Hilfe bei der Implementierung?

Unser Team hat Erfahrung mit dem Entwurf und der Implementierung moderner Architekturen. Wir helfen Ihnen gerne.

Kostenlose Beratung

Teilen:

CORE SYSTEMS Team

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