Текущая ситуация: Я написал сервер приложений C#, которые взаимодействуют с некоторыми приложениями (компьютер/смартфон/сеть). Теперь у меня есть проблема, что сервер приложений должен иметь дело с большим количеством запросов, и это будет очень медленно.Балансировщик нагрузки как прокси-сервер или перенаправитель
Моей идеей было изменить сервер приложений для работы в кластере программного обеспечения. Чтобы выбрать правильный сервер приложений, я хочу написать балансировщик нагрузки, который выбирает сервер приложений с наименьшей рабочей нагрузкой.
Моя проблема в том, что я не знаю, как написать балансировщик нагрузки. Если балансир нагрузки работает как прокси-сервер, чтобы весь трафик проходил через балансировщик нагрузки или перенаправление нагрузки на сервер приложений, и приложение напрямую связывалось с сервером приложений.
Вы не можете использовать существующие инструменты? Облачные сервисы обеспечивают балансировку нагрузки для вас (Microsoft Azure, Amazon EC2, Google Cloud) ... –
Сторона примечания: «и это будет очень медленно» - вы действительно пытались измерить? Понятно, что вы ищете (поскольку писать балансировщик нагрузки, который формирует трафик, основанный на загрузке серверов, очень интересен и должен создавать сложный и интересный для наблюдения/отладки/тестовый код), но на самом деле вам, вероятно, будет лучше с выключенным - решение для балансировки нагрузки на шельфе. –
Да, я могу использовать существующие инструменты. Я просто подумал, что лучше реализовать его как собственный модуль на моем сервере приложений. Спасибо! – BendEg