@UniverseElement

Как распределить клиентов по серверам?

Решаю следующую задачу:

Настольные клиенты скачивают через интернет (по http) большие объемы данных.
Одного сервера недостаточно, требуется что-то вроде балансировки нагрузки.

Вижу следующую архитектуру:
- клиенты обращаются к главному веб-сервису, чтобы получить адрес сервера раздающего файлы;
- веб-сервис учитывает количество активных клиентов на каждом сервере и возвращает клиенту адрес наименее нагруженного сервера.

Вопрос: Как обеспечить веб-сервис знанием о количестве текущих соединений на других серверах?

Варианты, которые приходят на ум:
- клиент сам может присылать веб-сервису отчет о завершении скачивания файла, но он ведь может «отвалиться» до окончания, а сервис об этом не узнает и будет его зря учитывать;
- держать постоянную связь между веб-сервисом и клиентами на время скачивания. Как это можно реализовать в рамках ASP.NET?

ЗЫ: Буду благодарен любым идеям)
  • Вопрос задан
  • 116 просмотров
Пригласить эксперта
Ответы на вопрос 1
1) Посты на хабре о видеохостинге Mail.ru, они подробно описали что и как делают.
2) https://github.com/quozd/awesome-dotnet#distribute...
3) getakka.net
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы