zurück zum Artikel

etcd bei Multi-Tennancy und Proxy überarbeitet

Julia Schmidt
etcd verbessert sich in Sachen Multi-Tennancy und Proxy

Der verteilt angelegte Key-Value Store des unter anderem für die Container-Engine rkt bekannten Unternehmens CoreOS kann in version 3.2 mit einigen Änderungen aufwarten, die nicht nur der Performance zugute kommen.

CoreOS' Key-Value-Speicher für verteilte Systeme etcd hat einige Änderungen erhalten und liegt nun in Version 3.2 [1] vor. Verbesserungen sollen unter anderem in Bezug auf die Netzwerkkommunikationsschnittstelle, die Nebenläufigkeit im Backend und verteilte Koordinationsdienste eingearbeitet worden sein. So haben die Entwickler des Projekts unter anderem Client- und Proxy-Namespacing als wiederverwendbare Komponenten umgesetzt. Namespaces helfen dabei, etcd-Schlüssel in separaten Keyspaces zu organisieren und ermöglichen so etwa Multi-Tenancy. Sie sind Sichten auf alle Schlüssel mit einem bestimmten Prefix, wobei letzterer nur vom Standard-etcd-Namespace aus sichtbar ist.

Da beim Ändern eines Schlüssels gleich ein Event an alle interessierten Watcher geschickt wird, kann es bei zu vielen Empfängern passieren, dass die Schreibgeschwindigkeit und die Frequenz, in der Events verschickt werden, absinken. Um das zu vermeiden, können gRPC-Proxies [2] nun über eine Schnittstelle Client-Watcher zusammenfassen, die den gleichen Key oder Bereich beobachten und ihnen Events vom etcd-Server weitervermitteln. So soll Letzterer bis zu einer Million Events pro Sekunde verteilen können.

Darüber hinaus exportiert etcd 3.2 verteilte Shared Locks und sogenannte Elections als RPC-Services, was der Perfomance dienlich sein soll und zudem die Koordination vereinfachen. Eine detailliertere Übersicht der Neuerungen ist auf GitHub [3] zu finden, wo sich auch die aktuelle Version beziehen lässt. (jul [4])


URL dieses Artikels:
https://www.heise.de/-3740892

Links in diesem Artikel:
[1] https://coreos.com/blog/etcd-3.2-announcement
[2] https://github.com/coreos/etcd/blob/master/Documentation/op-guide/grpc_proxy.md#scalable-watch-api
[3] https://github.com/coreos/etcd/blob/master/NEWS
[4] mailto:jul@heise.de