Original-URL des Artikels: https://www.golem.de/news/bare-metal-cloud-github-legt-eigene-load-balancer-offen-1808-135923.html    Veröffentlicht: 09.08.2018 13:30    Kurz-URL: https://glm.io/135923

Bare-Metal-Cloud

Github legt eigene Load Balancer offen

Der Code-Hoster Github betreibt seine Dienste in eigenen Rechenzentren auf Bare-Metal-Servern. Das zu Microsoft gehörende Unternehmen hat nun den Code seiner Load Balancer offengelegt, die für hohen Durchsatz Pakete am Kernel vorbeischleusen.

Der Code-Hoster Github verzichtet seit Jahren auf den fast schon allumgreifenden IT-Trend, seine Infrastruktur auf Cloud-Dienste wie jene von Amazon, Google oder Microsoft zu migrieren und setzt stattdessen auf die Verwaltung eigener Hardware in seinen Rechenzentren. Teil dieser Bare-Metal-Cloud ist auch eine eigene Load-Balancing-Infrastruktur, die schlicht Github Load Balancer (GLB) heißt. Das zu Microsoft gehörende Unternehmen hat mit dem GLB Director nun den Teil offengelegt, der für die Transport-Schicht zuständig ist.

Der GLB-Director ist dabei jedoch kein Ersatz für Software wie HAProxy oder Nginx. Er ist vielmehr vor diesen angeordnet, so dass diese Dienste selbst wiederum über mehrere physische Server skalieren können, ohne dass jeder dieser Server über eine einzigartige IP-Adressen verfügen müsste. Laut Erklärung skaliert die IP-Adresse gewissermaßen über mehrere Server. Die Idee, dass eine IP-Adresse einen physischen Server repräsentiert, wird damit aufgehoben.

Damit Pakete zu dem eigentlichen Proxy-Server geschickt werden, auch wenn diese Server über neue Maschinen skaliert werden, nutzt Github diese als Endpunkte einer laufenden TCP-Verbindung. Eine neue Maschine wird dann der neue primäre Server dieser Verbindung, der alte Endpunkt bleibt zunächst als sekundärer Server erhalten. So können die laufenden Datenflüsse idealerweise erhalten bleiben. Der GLB Director sitzt dabei zwischen den Routern und den Proxy-Servern und verteilt entsprechend die Pakete. Aus Sicht der Router leiten diese die Pakete hierbei immer an die gleiche IP-Adresse weiter.

Um die Arbeit des GLB Director dabei möglichst stark zu beschleunigen, nutzen die Maschinen das Data Plane Development Kit (DPDK), das als Kollaborationsprojekt der Linux Foundation entwickelt wird. Ziel von DPDK ist es, eine extrem schnelle Paketverarbeitung aus der Userspace zu erreichen, indem der Kernel per Direktzugriff auf die Netzwerkhardware umgangen wird.

Der Quellcode des GLB Director von Github findet sich natürlich auf Github.  (sg)


Verwandte Artikel:
Github: Windows 95 als App auf MacOS, Linux und Windows ausprobieren   
(24.08.2018, https://glm.io/136171 )
Load Balancer: Google-Cloud-Probleme wegen unerwarteter Neustarts   
(20.07.2018, https://glm.io/135596 )
SDN: Google beschleunigt sein Peering mit einem Schuss Espresso   
(05.04.2017, https://glm.io/127152 )
Paketmanager: Homebrew vergisst Zugangstoken auf öffentlichem Server   
(08.08.2018, https://glm.io/135903 )
502 Bad Gateway: Googles Load-Balancer nehmen Spotify kurzzeitig offline   
(18.07.2018, https://glm.io/135538 )

© 1997–2019 Golem.de, https://www.golem.de/