Bare-Metal-Cloud: Github legt eigene Load Balancer offen
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(öffnet im neuen Fenster) , 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(öffnet im neuen Fenster) von Github findet sich natürlich auf Github.
- Anzeige Hier geht es zum Handbuch für Softwareentwickler bei Amazon Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.