Сначала я попытаюсь объяснить цель моего веб-приложения.
Он предназначен для интрасети, а архитектура будет состоять из сервера, подключенного к сети, и менее чем 10 клиентов.
Приложение будет использоваться для предоставления аэронавигационной информации. Это будет достигнуто путем извлечения с помощью запросов cURL (сценариев php), запускаемых каждые X минут (задания CRON) на удаленных объектах (метеорология, воздушные трассы и информация об аэропорте) и сохраняемых в файле XML или БД. Собранная информация затем представляется на веб-странице (своего рода хорошо организованный синтез) для авиадиспетчеров, чтобы повысить их осведомленность о ситуации.
Поскольку собранные данные должны поступать к клиенту в режиме реального времени, я не могу полагаться на взаимодействие с браузером: если аэропорт закрывается из-за плохой погоды, эта часть информации должна отображаться как можно скорее без какого-либо взаимодействия с пользователем.
Количество отслеживаемых аэропортов будет около 30 (таким образом, вы получите представление о загрузке сервера, зная, что метеорологические отчеты хранятся на веб-сайте X, данные об аэропортах на веб-сайте Y и т. Д.).
После того, как я много читал о Reverse Ajax (Server-Push), мне действительно нужен профессиональный опыт, чтобы помочь мне выбрать лучший подход к разработке этого приложения.
Технологии Server-Push, которые я обнаружил в сети:
1) APE (Ajax Push Engine) -> Это заставляет меня чувствовать, что я пытаюсь открыть дверь с помощью базуки (может обрабатывать тысячи соединений).
2) Длительный опрос (Comet) -> Боюсь, что это может сильно снизить нагрузку на сервер.
3) Веб-сокеты -> Я должен сначала дождаться его зрелости и поддержки Firefox 6 (больше никаких проблем с безопасностью)
Поскольку я абсолютно новичок в серверном продвижении, я надеюсь, что вы поможете мне найти подходящий способ отображения этих данных в режиме, близком к реальному. Было бы очень жаль, если бы я в итоге установил кнопки «обновить» для обновления давления воздуха в месте расположения аэропорта «А» с помощью Ajax.
Спасибо за чтение.