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 einzelnenmyservice.example.com
Hostnamen 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