Как сделать балансировку на blazor server с использованием Nginx?
У меня есть сайт на blazor server подразумевается, что в будущем нужно будет масштабироваться т.е. будет несколько серверов. Собственно хотелось бы узнать как сделать балансировку на blazor server с использованием Nginx? При этом надо чтобы сессии так же сохранялись, т.е. не выкидывало в случае выключения одного из серверов.
Ну если масштабироваться нужно, тогда все что возможно вынести в WEB-API, как микросервисы, а сам веб-проект с блайзором тогда будет проще балансировать. А по сути вопрос интересный, подписался, чтобы ответ достойный посмотреть.
В итоге, сделал липкие сессии ip_hash в nginx, чтобы закреплялся за одной и той же машиной, сессии распространяю через кластер redis, а так же ключ для расшифровки cookie и localstorage.
(services.AddDataProtection().PersistKeysToStackExchangeRedis(redis, "DataProtection-Keys")) - для распространения ключа шифрования через redis по всем экземплярам приложения.
Основная работа по работе с данными вынесена в отдельное АПИ.