oto sytuację:Definiowanie niestandardowego algorytmu równoważenia obciążenia
Mam liczbę serwerów internetowych, powiedzmy 10. muszę użyć (oprogramowanie) równoważenia obciążenia, które mogą być realizowane za pomocą serwera proxy odwrotnej, jak HAProxy lub lakier. Teraz cały ruch, który serwujemy, odbywa się przez https, a nie http, więc lakierowanie nie wchodzi w grę.
Teraz chcę podzielić żądanie użytkowników na kilka kategorii, które zależą od jednego z parametrów wejściowych (POST) żądania. W zależności od tego parametru, muszę podzielić żądanie na serwery, ponieważ na tej podstawie (nawet jeśli wszystkie inne parametry wejściowe (POST) są takie same), różne serwery byłyby obsługiwane inaczej.
Potrzebuję zdefiniować niestandardowy algorytm równoważenia obciążenia, tak aby dla konkretnej wartości tego parametru podzielić obciążenie na określone 3 (powiedzmy), dla innej wartości, podzielić żądanie na konkretne 2 i dla innych wartości, aby pozostać 5.
Ponieważ nie mogę używać lakieru, ponieważ nie można go użyć do zakończenia ssl (zdefiniowanie własnego algorytmu byłoby łatwe w VCL), myślę o używaniu HA-Proxy.
Tak tu jest pytanie:
Czy ktoś może mi pomóc w jaki sposób zdefiniować niestandardową funkcję równoważenia obciążenia przy użyciu HA-proxy?
Wiele się dowiedziałem i nie mogłem znaleźć takiego dokumentu, z którym możemy. Tak więc, jeśli nie jest to możliwe z HA-Proxy, czy możesz skierować mnie do jakiejś innej usługi reverse-proxy, która może być również używana jako load balancer, tak, że spełnia oba powyższe kryteria? (zakończenie ssl i możliwość zdefiniowania niestandardowego równoważenia obciążenia).
EDIT:
To pytanie jest z rzędu z jednym z moich wcześniejszych pytań. Varnish to be used for https
Byłoby [Hitch] (https://hitch-tls.org) → protokół PROXY → Lakier 4,1 być rozwiązaniem dla Ciebie? –
@ CarlosAbalde, widziałem to. Nie tego szukam. Zobacz link: http: // stackoverflow.com/questions/33475154/varnish-to-be-used-for-https. Jest to również pytanie, które zadałem ... które jest powiązane. – vish4071
HAProxy 1.6 - 'req.body_param' + ACL do określenia trasy do backendów - https://cbonte.github.io/haproxy-dconv/configuration-1.6.html#7.3.6-req.body_param –