【发布时间】:2011-10-03 02:53:05
【问题描述】:
我将首先尝试解释我的 Web 应用程序目标。
它专用于 Intranet,架构将包含一个连接到 Web 的服务器和少于 10 个客户端。
该应用程序将用于提供航空信息。这将通过检索在远程站点(气象、航空公司和机场信息)上每 X 分钟启动一次(CRON 作业)并保存在 XML 文件或数据库中的 cURL 请求(php 脚本)来实现。然后将收集到的信息显示在网页上(一种组织良好的综合),以提高空中交通管制员的态势感知能力。
由于收集的数据必须实时到达客户端,我不能依赖浏览器交互:如果机场因恶劣天气而关闭,则必须尽快显示该信息,而无需任何用户交互。
监控的机场数量将在 30 个左右(这样您就可以了解服务器负载,知道气象报告存储在 X 网站上,机场数据存储在 Y 网站上等等。)。
阅读了很多关于 Reverse Ajax (Server-Push) 的文章后,我真的需要专业的经验来帮助我选择开发这个应用程序的最佳方法。
我在网上发现的 Server-Push 技术有:
1) APE (Ajax Push Engine) -> 这个让我感觉像是用火箭筒打开了一扇门(可以处理数千个连接)。
2) 长轮询(彗星)-> 我担心这会对服务器负载造成很大压力。
3) Web 套接字 -> 我必须先等待它成熟并得到 firefox 6 的支持(不再有安全问题)
由于我是 server-push 的新手,希望您能帮助我找到合适的方法来实现以接近实时的方式显示这些数据。如果我最终设置“刷新”按钮来使用 Ajax 更新机场“A”位置的气压,那肯定会很遗憾。
感谢阅读。
【问题讨论】:
-
我投票支持长轮询;如果您只有 10 个客户,那么几乎没有负载可言。