Abo
  • IT-Karriere:

DHCPLB: Facebooks Loadbalancer verringern Hardware auf ein Zehntel

Zum Provisionieren seiner Server nutzt Facebook DHCP. Dank eines eigenen Loadbalancers und Servers konnte das Unternehmen die benötigte Hardware bei gleichem Traffic-Aufkommen massiv reduzieren. Die Software dazu ist Open Source.

Artikel veröffentlicht am ,
Die Server von Facebook werden per DHCP provisioniert.
Die Server von Facebook werden per DHCP provisioniert. (Bild: Facebook)

Facebook stellt in seinem Entwicklerblog seine aktuelle Infrastruktur für DHCP und das dafür genutzte Loadbalancing vor. Dank verschiedener Neuerungen sehe Facebook damit einen "besseren Durchsatz". Weiter heißt es: "Tatsächlich verarbeiten wir jetzt das gleiche Verkehrsvolumen mit zehnmal weniger Servern". Der grundlegenden Code dazu ist nun als Open Source verfügbar.

Stellenmarkt
  1. d.velop Life Sciences GmbH, Gescher
  2. ENERCON GmbH, Aurich

In seinen Rechenzentren nutzt Facebook nach eigenen Angaben DHCP als Verwaltungsprotokoll, um die Bare-Metal-Server zu provisionieren, also etwa um darauf Betriebssysteme zu installieren. In den vergangenen Jahren hat das dafür zuständige Team viel Arbeit investiert, um die dazu nötige Infrastruktur möglichst skalierbar zu gestalten. Dies ist klar iterativ geschehen und gipfelt vorerst in den nun vorgestellten DHCPLB-Servern.

Begonnen hat das Team mit dem DHCP-Server des ISC, der Referenzimplementierung für das Protokoll. Dieser wurde jedoch schnell durch den KEA-DCHP-Server der ISC ersetzt. Dem Blogeintrag zufolge wurde der Netzwerkverkehr jedoch nicht gleichmäßig auf die KEA-Instanzen verteilt. Das Team erstellte deshalb einen Relay-Server, der DHCP-Requests gleichmäßig auf die Kea-Server verteilt - also einen Load Balancer für DHCP (DHCPLB).

Multi-Thread DHCP-Server und Load-Balancer

Doch auch das reichte für das Unternehmen nicht aus, da Kea eine Single-Thread-Anwendung ist, was den Netzwerkverkehr unter Umständen massiv blockieren kann. Im Zuge eines Hackathons erstellte das Team deshalb eine neue DHCP-Bibliothek, die in Go geschrieben ist und einen Multi-Thread-Ansatz implementiert.

Die Entwickler des Unternehmens haben schließlich die neue Bibliothek mit ihrem bereits vorhandenen Loadbalancer für DHCP kombiniert und so zu einem vollwertigen DHCP-Server ausgebaut, der deutlich mehr Netzwerkverkehr verarbeiten kann, als das vorher genutzte KEA. Selbst mit einer stark steigenden Anzahl von Anfragen pro Sekunde bleibt die Latenz des neuen Aufbaus außerdem nahezu konstant, während diese bei KEA immer weiter gewachsen ist.

Der Code für diesen Aufbau hat Facebook als Framework auf Github veröffentlicht.



Anzeige
Hardware-Angebote
  1. 294€

hhofstaetter 31. Mai 2019 / Themenstart

"In seinen Rechenzentren nutzt Facebook nach eigenen Angaben DHCP als...

Jdbdbskslfjwbal 29. Mai 2019 / Themenstart

Lt Blogeintrag benutzen die bisher BGP quasi als LB. BGP kümmert es aber nicht, wie die...

Kommentieren


Folgen Sie uns
       


Fernsteuerung für autonome Autos angesehen

Das Fraunhofer-Institut für Offene Kommunikationssysteme zeigt die Fernsteuerung von Autos über Mobilfunk.

Fernsteuerung für autonome Autos angesehen Video aufrufen
Wolfenstein Youngblood angespielt: Warum wurden diese dämlichen Mädchen nicht aufgehalten!?
Wolfenstein Youngblood angespielt
"Warum wurden diese dämlichen Mädchen nicht aufgehalten!?"

E3 2019 Der erste Kill ist der schwerste: In Wolfenstein Youngblood kämpfen die beiden Töchter von B.J. Blazkowicz gegen Nazis. Golem.de hat sich mit Jess und Soph durch einen Zeppelin über dem belagerten Paris gekämpft.
Von Peter Steinlechner


    Ada und Spark: Mehr Sicherheit durch bessere Programmiersprachen
    Ada und Spark
    Mehr Sicherheit durch bessere Programmiersprachen

    Viele Sicherheitslücken in Software sind auf Programmierfehler zurückzuführen. Diese Fehler lassen sich aber vermeiden - und zwar unter anderem durch die Wahl einer guten Programmiersprache. Ada und Spark gehören dazu, leider sind sie immer noch wenig bekannt.
    Von Johannes Kanig

    1. Das andere How-to Deutsch lernen für Programmierer
    2. Programmiersprachen, Pakete, IDEs So steigen Entwickler in Machine Learning ein
    3. Software-Entwickler Welche Programmiersprache soll ich lernen?

    Final Fantasy 7 Remake angespielt: Cloud Strife und die (fast) unendliche Geschichte
    Final Fantasy 7 Remake angespielt
    Cloud Strife und die (fast) unendliche Geschichte

    E3 2019 Das Remake von Final Fantasy 7 wird ein Riesenprojekt, allein die erste Episode erscheint auf zwei Blu-ray-Discs. Kurios: In wie viele Folgen das bereits enorm umfangreiche Original von 1997 aufgeteilt wird, kann bislang nicht mal der Producer sagen.

    1. Final Fantasy 14 Online Report Zwischen Cosplay, Kirmes und Kampfsystem
    2. Square Enix Final Fantasy 14 erhält Solo-Inhalte und besonderen Magier
    3. Rollenspiel Square Enix streicht Erweiterungen für Final Fantasy 15

      •  /