Wie füge ich einem Load Balancer dynamisch Server hinzu?

Wie füge ich einem Load Balancer dynamisch Server hinzu?

Das ist eine schwierige Frage, die im begrenzten Platz für den Titel nicht so einfach zu formulieren ist, aber ich werde mein Bestes geben, um es zu erklären. Ich möchte, dass die Benutzer meiner Website die Server selbst betreiben können. Diese Server würden bewertet und eingestuft. Ich möchte diese Werte an meinen Lastenausgleich übermitteln, damit dieser den Datenverkehr zwischen allen Servern basierend auf ihrer Leistungsfähigkeit gewichtet. Der Lastenausgleich sollte die Last dynamisch zwischen temporären Servern ausgleichen, sodass jedes Mal, wenn jemand einen Server startet, dieser mit seiner gewichteten Punktzahl zur Liste der auszugleichenden Server hinzugefügt wird. Wie würde ich das machen? Könnte das überhaupt gemacht werden?Diagramm

Antwort1

Ich begreife nicht ganz, welches Problem Sie lösen möchten, und ich verstehe auch nicht, was Sie erreichen möchten, indem Sie Ihre Website-Infrastruktur Ihren Benutzern überlassen ...

Aber zu„Server dynamisch zu einem Load Balancer hinzufügen“ Sie haben im Wesentlichen zwei verschiedene Strategien:

  • Ihr Loadbalancer stellt eine API bereit (und Sie lösen einen API-Aufruf aus, um Server zu einem Pool hinzuzufügen/aus einem Pool zu entfernen)

  • Ihr Loadbalancer unterstützt einen Diensterkennungsmechanismus.
    Ein recht verbreiteter ist DNS. Sie verwenden beispielsweise einen einzelnen myservice.example.comHostnamen im Loadbalancer-Pool/in der Backend-Konfiguration und wenn Server hinzugefügt/entfernt werden, müssen Sie die Loadbalancer-Konfiguration nicht ändern, sondern nur den DNS-Eintrag:

    myservice.example.com. 90  IN  A  192.168.2.131
    myservice.example.com. 90  IN  A  192.168.2.132
    myservice.example.com. 90  IN  A  192.168.2.133
    

https://www.haproxy.com/blog/dns-service-discovery-haproxy/

verwandte Informationen