Ich muss HAProxy konfigurieren, um Anfragen von verschiedenen Pfaden an verschiedene Backends weiterzuleiten, und einige der Backends müssen Lasten-ausgeglichen werden. So bin ich auf this question gestoßen, und die dort zur Verfügung gestellte Lösung funktioniert, aber aufgrund unserer Konventionen muss ich listen
und use-server
anstelle von frontend
und use_backend
verwenden.HAProxy - URL-basiertes Routing mit Load Balancing - mit listen und verwenden-Server
So jetzt habe ich etwas wie folgt aus:
listen poq [url]:[port]
acl has_cool_url path_beg -i /cool
use-server cool if has_cool_url
server cool [ip]:[port] check
server default [ip]:[port] check
Und ich kann dies nicht nutzen:
listen poq [url]:[port]
acl has_cool_url path_beg -i /cool
use_backend cool if has_cool_url
use_backend notcool if !has_cool_url
backend cool
balance roundrobin
server first [ip]:[port] check
server second [ip]:[port] check
backend notcool
server third [ip]:[port] check
Weil unsere Konventionen sagen uns, alles innerhalb des listen
Block zu definieren.
Also meine Frage ist: Gibt es so etwas wie folgt aus:
listen poq [url]:[port]
acl has_cool_url path_beg -i /cool
use-server {first, second} if has_cool_url
server first [ip]:[port] check
server second [ip]:[port] check
server default [ip]:[port] check
Wo first
und second
verwenden Round-Robin-Lastausgleich?
Die von Ihnen angebotene Lösung funktioniert perfekt für meinen Zweck, danke. Ich stimme zu, dass die Konventionen willkürlich sind! – ezer1337