Comet----众里寻你千百度

原创 2007年09月30日 11:52:00

       Comet,基于HTTP长连接的的服务器端推技术。就想当年Ajax横空出世一样,同样的老调新弹,同样的振奋人心。BS的架构,CS的实时体验,效率,代宽。这些问题都有了解决的可能。 

        前几天,拜读了一篇关于网络软件架构的博士论文。其中关于REST的阐述非常精辟。现在回想起来,以前对ASP.NET架构的依赖过于严重了。对于HTTP协议的应用也过于单调。很多值得扩展的地方都没有注意。Comet+REST的解决方案理论上可以解决BS实时监控中的大部分问题。

        首先,在AJAX解决方案中的长轮训方式是一种效率比较差的方案。最好以长连接的Keep-Live取而代之,HTTP/1.1默认就是长连接的TCP。只不过因为是无状态的---既服务器端不保存任何东西,所需的所有资源都必须包含在客户端的请求中。从而导致每一次交互对带宽的占用比较大,从而导致性能的低下。其实HTTP协议本身对维护长连接做得很好,这也是对静态网页而言。由于PHP,JSP,ASP.NET等动态语言的出现。对Respnse信息体的动态修改以及本身的com组件的过滤,使得所有的操作和数据返回都一次性完成,并不需要更多的利用HTTP协议中的长连接,也根本就不需要心跳。但对于实时监控程序来说,重要只是实时性和性能。所以对长连接的维护---心跳检测和传输数据的筛选就非常重要。关于心跳检测,我同意老外们的大致做法,客户端定时通过HTTP协议中的HEAD方法向服务器发送请求。由于服务器对HEAD的响应只有消息头,而没有消息体。所以对代宽的占用要小很多。同时服务端对响应的消息头进行扩展,根据监控的数据的变化在响应消息头中添加相应的指令---也就是告诉客户端去从不同的url地址获取数据。客户端对指令进行解析。从而根据不同的指令获取相应的数据利用DOM在客户端注入。由于对于监控程序来说所有客户端接受的数据都是一样,所以利用服务端缓存技术把每个有效的客户请求结果以对象的方式存储在服务端,从而节省了相同请求的逻辑处理时间。由于交互的只是变化的数据,所以传输的性能应该可以保证。

         现在还有一个问题,就是AJAX长时间频繁请求的性能问题。主要是对于客户端而言,设想用临时页面来完成请求交互。一定时间段后临时页面关闭,打开一个新的临时文件。但是有个疑问就是对容错的处理。怎样保证临时页面出错时及时恢复。

         只是理论上的解决方案,不过感觉没有技术盲点,希望听取大家的意见。

众里寻他千百度

机房收费系统是自学生信息系统之后的又一完整的系统,但是不同的是:学生信息系统有源码,还有现成的数据库,只要直接连接,然后照着敲就可以了;但是机房收费系统却只有一个应用程序,虽然也给了数据库,但是那只是...
  • u010927139
  • u010927139
  • 2013年09月26日 17:26
  • 1426

众里寻他千百度,蓦然回首,那人却在。。。

第一个项目终于完成了,做的很辛苦,每天都要凌晨好几点才能睡觉,有时鼻血不经意间就流淌出来了,兄弟们,有木有?有木有?最大的感受就是:思路决定出路。做某个模块之前,我会在笔记本上写好思路,敲代码就看着写...
  • u011886490
  • u011886490
  • 2013年08月30日 14:59
  • 604

众里寻他千百度,蓦然回首,那人却在。。。。。

第一个项目终于完成了,做的很辛苦,每天都要凌晨好几点才能睡觉,有时鼻血不经意间就流淌出来了,兄弟们,有木有?有木有?最大的感受就是:思路决定出路。做某个模块之前,我会在笔记本上写好思路,敲代码就看着写...
  • u011886490
  • u011886490
  • 2013年08月30日 14:59
  • 299

算法的优雅(八):众里寻TA千百度

ひとつ.如果你是个算法高手,请移步..... ふたつ.如果你能做
  • lvlawliet
  • lvlawliet
  • 2013年09月01日 17:19
  • 704

linux学习-oracle查询exists之众里寻他千百度

马上码 2017-06-09 11:06 马上码特色:先来点诗句 《蜀相》 杜甫(712-770),字子美,自号少陵野老,世称“杜工部”、“杜少陵”等,汉族,河南府巩县(今河南省巩义市)人,唐代...
  • u011277123
  • u011277123
  • 2017年06月10日 09:49
  • 102

basename()—众里寻他千百度,那人却在linux函数库

这是一桩因不熟悉linux函数引发的惨案,容我吃口热翔后为大家细细道来:      我想在linux上用C借助socket实现一个文件传输的软件,输入文件的目录后将该文件从客户端发送到服务器,包括该文...
  • u012520551
  • u012520551
  • 2015年08月07日 23:04
  • 839

众里寻他千百度-- 轻量级持久化框架

初衷 纯JDBC 持久化框架 轻量级持久化框架 设计思路 怎么使用 依赖 数据库配置 正式使用 数据库表结构 Java Bean结构 从数据库获取一条记录并转为对象 高级版 数据库内记录 JavaBe...
  • Marksinoberg
  • Marksinoberg
  • 2016年11月14日 20:12
  • 20576

众人寻AI千百度

说起AI,或许很多普通人仍然不清楚这是什么。然而说起人工智能,机器人,想必大家不是如雷贯耳也是耳濡目染,略知一二。        从小我们便不断的从电影,电视剧中接触AI,霹雳游侠中那个麦克的超级跑车...
  • hwddj14
  • hwddj14
  • 2017年07月14日 20:50
  • 488

转载:HUDSON邮件模板问题 <众里寻他千百度,蓦然回首,那‘人’却在灯火阑珊处>

转载:http://blog.csdn.net/bxyz1203/article/details/7397078      【众里寻他千百度,蓦然回首,那‘人’却在灯火阑珊处】 【...
  • huguangshanse00
  • huguangshanse00
  • 2013年11月10日 20:36
  • 1082

众里寻 Bug 千百度,蓦然回首,它却在隔壁老张处……

点击上方“程序人生”,选择“置顶公众号”第一时间关注程序猿(媛)身边的故事程序员与 Bug 是一对矛盾的存在,程序员既要在解决 Bug 中获得成就感,同时也讨厌 Bug 本身的存在。“程序不息,Bug...
  • csdnsevenn
  • csdnsevenn
  • 2017年12月19日 00:00
  • 126
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Comet----众里寻你千百度
举报原因:
原因补充:

(最多只允许输入30个字)