Mam serwer udp, jest to centralna część mojego procesu biznesowego. aby obsłużyć obciążenia, których oczekuję w środowisku produkcyjnym, prawdopodobnie potrzebuję 2 lub 3 instancji serwera. Serwer jest prawie całkowicie bezstanowy, głównie gromadzi dane, a warstwa nad nim wie, jak obsługiwać minimalną ilość przestarzałych danych, które mogą powstać z wielu instancji serwera.
Moje pytanie brzmi: w jaki sposób mogę wdrożyć równoważenie obciążenia między serwerami? Wolałbym rozdzielić żądania tak równo, jak to możliwe między serwerami. Chciałbym również zachować pewną wierność, tzn. Jeśli klient X zostałby przekierowany na serwer y, to chcę, aby wszystkie kolejne żądania X trafiły na serwer Y, o ile jest to rozsądne i nie powoduje przeciążenia Y.
Nawiasem mówiąc, jest to system .NET ... co byś polecił?
stan jest wewnętrzny w obrębie serwerów, a nie jakaś transakcja. stan to niektóre dane, które serwery agregują z danych, które otrzymują, i można je przywołać za pomocą prostej usługi WCF WebService. Aplikacja oparta jest na UDP i chociaż nie zgadzam się z decyzją, jej „powyżej mojej kategorii płac”
Obecnie wypróbowuję NLB MS, działa ok, robi to z wiernością, ale generuje hałas w całej sieci ...
Również brak DNS ... Och, to jest całkowicie kostiumowy protokół.