Я должен реализовать следующее высоконагруженное приложение:
Пользователи отправляют изображения на веб-сервер через браузеры. Сервер должен обрабатывать изображения и отправлять результаты (несколько строк) обратно в браузеры пользователя. Результаты должны появиться через 10 секунд, а Html-интерфейс должен быть адаптивным (не заблокированным) во время обработки на сервере.
Что вы думаете о следующей архитектуре, являются ли технологии подходящими, а решение масштабируемым?
- Существует несколько веб-серверов (~ 2-4), которые готовы получать пользовательские изображения.
- Когда изображение получено, оно передается на один из серверов обработки (в локальной сети должно быть ~ 50 серверов обработки, которые не доступны из Интернета)
- (a) Клиент начинает опрос веб-сервера, если результат обработки готов через ajax с интервалом (1000 мс.)
- (b) В клиенте есть компонент flash / silverlight, который реализует канал веб-сервера двустороннего браузера <-> для получения результатов с сервера, как только результаты будут готовы.
В этом есть пара вещей:
- Вы бы лично предпочли подход ajax-опроса или дуплексную связь (со вспышкой / серебристым светом) в интернет-среде? Или вы их смешаете?
- Как веб-сервер должен знать, что результаты обработки готовы? Я полагаю, что в локальной сети Интернет должна быть одна быстрая служба-посредник, которая уведомляет серверы обработки (до 50 серверов обработки) с результатами обработки и уведомляет веб-серверы о том, что результаты готовы.