Open Source im professionellen Einsatz

Etcd 3 läuft performanter

01.07.2016

Etcd 3 soll einige Vorteile gegenüber dem Vorgänger bringen. So brauche die Kommunikation zwischen Clients aufgrund des Wechsels von Json auf gRPC weniger Ressourcen. Und trotz API-Änderungen seien Updates problemlos möglich.

370

Core OS spricht ihn 'Etsi' aus, der Name von Etcd dürfte an des Linux-Verzeichnis "/etc" angelehnt sein, in dem sich die überwiegenden Konfigurationsdateien für das Betriebssystem befinden. Das 'd' steht hingegen für den Daemon, der diese Konfigurationen ausliefert. So verteilt Etcd als Key-Value-Store Konfigurationen auf Systemen, etwa auf Googles Containerplattform Kubernetes. Über das bloße Ausliefern ist Etcd allerdings schon deutlich hinaus, Entwickler nutzen es unter anderem für verteiltes Netzwerken, Service Discovery, Scheduling und Load Balancing.

Core OS hat den Daemon nun in einer ersten stabilen Version 3.0 veröffentlicht. Damit Etcd auch auf komplexen Plattformen wie Kubernetes skaliert, die viele verteilte Systeme verwalten, setzt Etcd 3 auch verteilte Locks, beherrscht Leader Election und Software Transactional Memory, um geteilte Zugriffe auf Speicher zu koordinieren. Obwohl das API von Etcd 3 basierend auf dem Feedback der Etcd-2-User generalüberholt wurde, sollen Upgrades laut der Ankündigung einfach sein, weil die Version 3.0 die selben Json Endpoints und internen Clusterprotokolle nutzt wie Etcd 2.

Eines der Probleme von Etcd 2 bestand darin, dass es zu lebhaft kommunizierte. Als Antwort auf das Problem verwendet das Base-Server-Interface nun gRPC anstelle von Json, was die Kommunikationsperformance verdoppele. Für Keys mit einer begrenzten TTL-Laufzeit haben die Entwickler ein "Lease"-Feld eingeführt. Ein Key ist nun einem Lease mit einer bestimmten TTL zugeordnet. Läuft die TTL aus, löscht das Lease die zugehörigen Keys, was Keep-Alive-Traffic spart, wenn verschiedene Keys dasselbe Lease verwenden.

Auch die Watcher wurden überarbeitet. Wenn Anwendungen mit vielen Clients viele Keys im Auge behalten, erschöpfte das den Etcd 2 Server-Socket und beeinträchtigte den Arbeitsspeicher. Das Etcd-3-API multiplext Watches über eine einzelne Verbindung. Clients registrieren Watcher neuerdings in einem bidirektionalen gRPC-Stream, für sie bestimmte Events identifizieren sie anhand einer ID. Verschiedene Watch-Streams können dabei dieselbe TCP-Verbindung teilen, was den Memory Footprint von Etcd 3 deutlich reduziere.

Ansonsten lassen sich historische Key-Value-Mappings länger nachträglich auswerten. Damit Distributed Locks und Transactional Memory funktionieren, zerlegt Etcd 3 nun verschiedene Operationen in eine einzige bedingte Minitransaktion. Sie enthält eine Liste von Aktionen, die erst starten, wenn bestimmte Bedingungen wahr werden. Wer einen Blick auf den Quellcode von Etcd 3 werfen möchte, wird auf Github fündig.

Ähnliche Artikel

  • Etcd in Version 2.0 vorgestellt

    Etcd, der verteilte Konfigurations-Daemon von Core OS mit integriertem Key-Value-Store, hat Version 2.0 erreicht. Die schützt den Admin unter anderem gegen Konfigurationspannen und erleichtert die Wiederherstellung nach einem Cluster-Ausfall.

  • Etcd in Version 2.2 veröffentlicht

    Etcd ist ein verteilter Key-Value-Store, Teil von Core OS und nun in Version 2.2 erschienen. Es bringt eine Vorschau auf das v3-API und neue Speicher-Backend, einen neuen Go-Client und verbessert die Health-Checks.

  • Etcd in Version 2.1

    Bei Etcd handelt es sich um einen quelloffenen, verteilten, konsistenten Schlüssel-Wert-Speicher. Version 2.1 führt eine Authentifizierung ein, läuft stabiler und ermöglicht Echtzeit-Monitoring.

  • Konfig-Management

    Etcd, Zookeeper, Consul und ähnliche Programme werden unter dem Stichwort Konfigurationsmanagement zurzeit heiß diskutiert. Welche Aufgaben wollen sie konkret lösen? Welche Versprechen können sie halten? Das Linux-Magazin geht der Sache auf den Grund.

  • Sky-DNS in Version 2.0

    Sky-DNS ist in Version 2.0 erschienen. Der DNS-Dienst für dezentrale Netzwerke hängt sich an den verteilten Key-Value-Store Etcd, entdeckt Dienste und kündigt Dienste an.

comments powered by Disqus

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.