目前,以 B/S 架构的产品越来越多, 这就衍生出一个通知消息的技术问题,比如:在线聊天、邮件通知等等,
观察论坛许久,众多程序员采用 AJAX 无刷新技术定时访问数据库,刷新数据,达到消息功能,访问量少可以
突出此优势,但如果海量访问,试问数据库能否承受?
以经典的例子说明----《在线考试系统》,功能描述: 学生登录完毕进入指定UI等待开考---》考官查看考生是否全部登陆完毕(初步定为将学生登录状态记录数据库,
每秒刷新数据。)确定无误---》单击开考按钮(学生端从登陆完毕后一直刷新页面)---》学生接到正确参数,
跳转考试页面。考试完毕---》单击提交试卷按钮 ----》 驱动考官页面弹出提示(考官端页面不停刷新中) 暂不考虑业务是否完善,就题论题,从开考到结束,参与考试系统对象都在不停的刷新数据库!
不知道大家有什么好的解决方案,讨论下!
一些门户系统中多用sametime来做在线感知
要点:socket,Tcp/Ip
消息互动 通过flex操作js 改变html状态。通过JS操作Flex发送信息 这里flex只是js与JAVA服务端的桥梁
不过可以考虑comet技术
这里有篇帖子可以参考下:
Comet:基于 HTTP 长连接的“服务器推”技术
http://www.ibm.com/developerworks/cn/web/wa-lo-comet/
利用相当于CGI 形式内嵌 HTML 代码达到改变 CLINT 页面内容,但也只能使用于小型系统,超过100 个线程访问
则严重损耗服务器,只能考虑改善硬件,负载均衡或者集群服务器提升性能。望大家继续探讨!!!