Архитектура обработки изображений с высокой нагрузкой для веба - PullRequest
2 голосов
/ 09 марта 2011

Я должен реализовать следующее высоконагруженное приложение:

Пользователи отправляют изображения на веб-сервер через браузеры. Сервер должен обрабатывать изображения и отправлять результаты (несколько строк) обратно в браузеры пользователя. Результаты должны появиться через 10 секунд, а Html-интерфейс должен быть адаптивным (не заблокированным) во время обработки на сервере.

Что вы думаете о следующей архитектуре, являются ли технологии подходящими, а решение масштабируемым?

  1. Существует несколько веб-серверов (~ 2-4), которые готовы получать пользовательские изображения.
  2. Когда изображение получено, оно передается на один из серверов обработки (в локальной сети должно быть ~ 50 серверов обработки, которые не доступны из Интернета)
  3. (a) Клиент начинает опрос веб-сервера, если результат обработки готов через ajax с интервалом (1000 мс.)
  4. (b) В клиенте есть компонент flash / silverlight, который реализует канал веб-сервера двустороннего браузера <-> для получения результатов с сервера, как только результаты будут готовы.

В этом есть пара вещей:

  1. Вы бы лично предпочли подход ajax-опроса или дуплексную связь (со вспышкой / серебристым светом) в интернет-среде? Или вы их смешаете?
  2. Как веб-сервер должен знать, что результаты обработки готовы? Я полагаю, что в локальной сети Интернет должна быть одна быстрая служба-посредник, которая уведомляет серверы обработки (до 50 серверов обработки) с результатами обработки и уведомляет веб-серверы о том, что результаты готовы.

1 Ответ

1 голос
/ 09 марта 2011

Что вам нужно, это фреймворк для параллельной обработки. Взгляните на:

http://gearman.org/

...