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

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

Comet----众里寻你千百度相关推荐

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

    程序员与 Bug 是一对矛盾的存在,程序员既要在解决 Bug 中获得成就感,同时也讨厌 Bug 本身的存在."程序不息,Bug 不止",程序员在与 Bug 的斗争中,也有很多有趣的 ...

  2. 众里寻它千百度,原来它在...MSDN处

    早在4年前我就用Javascript来设计网页, 但是一直苦于没有一个象JavaApi那样的文档来辅助开发, Javascript的很强大的功能都没有利用上. 今天却偶然打开别人的机器上的MSDN, ...

  3. 众里寻TiDB千百度,蓦然回首,这些填坑记录还在灯火阑珊处

    前言 俗话说得好,架构重构一时爽,一直重构一直爽,又到了架构重构的时节:俗话又说了,饱暖思X欲,在产品技术架构稳定运行了好久之后,又迎来了躁动的撩拨,重构之心蠢蠢欲动:俗话最后说了,技术有风险,重构需 ...

  4. 视觉世界中的“众里寻她”--开放环境下的人物特征表示

    编者按:辛弃疾在<青玉案.元夕>中曾这样写道,"众里寻她千百度,蓦然回首,那人却在,灯火阑珊处." 其实在视觉理解领域,这半阙词,描绘的即是,在熙熙攘攘的视觉世界中,通 ...

  5. 每日一题——众里寻花(并查集)

    学习目标: 每天睡前是否感到浑浑噩噩,一天又在不知不觉中过去,回想我今天都干了什么呢? 啊~我这一天又什么也没干,好有罪恶感啊,不行,我明天一定要好好学算法(手动狗头). 明日复明日,明日何其多?不要 ...

  6. 101-首发URSINA中文入门指南-众里寻它

    首先我想说的是,我是工科出身,没有系统学过软件工程,计算机图形学.所以我找的方法,写的教程是真的简单,因为太复杂的东西我也搞不懂. 一直想找一个简单好用的3D可视化引擎,用于算法开发,快速原型.最好要 ...

  7. CSS跑车俱乐部周理,CSS众里寻TA|NO.2 有趣的灵魂

    1.梦婷童鞋是一个资深摄影爱好者,一个绝对靠谱的旅游玩伴,活泼洒脱的个性让她走到哪里都是人群的焦点,希望有一个人领走这位女中豪杰,社会我婷姐,人美路子野! 2.关于Sherry姐姐,莎士比亚曾这样评价 ...

  8. 腾讯offer-众里寻他千百度

    腾讯offer      2014-04-25 15:40   收到腾讯HR电话,告知已获offer.          感谢!   转载于:https://www.cnblogs.com/mqxno ...

  9. 一瓢江湖我沉浮 我寻你千百度 又一岁荣枯

    千百度-歌词 关外野店 烟火绝 客怎眠    寒来袖间 谁为我 添两件    三四更雪 风不减 吹袭一夜    只是可怜 瘦马未得好歇    怅然入梦 梦几月 醒几年    往事凄艳 用情浅 两手缘  ...

最新文章

  1. 分组加密的常用工作模式(转载)
  2. 生物化学与分子生物学分析技术 Analytical Techniques in Biochemistry and Molecular Biology 英文原版
  3. Mac 开发中如何设置 关闭 以及最小化 最大化按钮事件处理
  4. 2路选择器设计(16位)
  5. (转)找回vss超级管理员密码
  6. CocoaPods 基础知识--------安装 及 使用第三方库
  7. 火爆全网MySQL路线笔记!linuxmysql允许远程连接
  8. 蓝桥杯 ADV-234 算法提高 字符串跳步
  9. python中当地时间_Python 日期和时间
  10. JS组件系列——BootstrapTable+KnockoutJS实现增删改查解决方案(三):两个Viewmodel搞定增删改查...
  11. 网络编程实战之在线电子词典
  12. 【已解决】平板远程控制WIN10电脑
  13. shenyu2.5.0对restful的path中文不支持,400错误解决
  14. 大数据之Hive:Hive中next_day函数
  15. 快手算法岗日常实习面试经验
  16. 编码中关于二义性的解释
  17. uni-app【判断手机是否安装微信QQ】
  18. windows核心编程--2、windows的画笔画刷以及一些简单的应用
  19. 【JavaEE】进入Web开发的世界-CSS
  20. 22021年江苏高考成绩查询,2021年江苏高考位次查询及一分一段表排名查询

热门文章

  1. 香港银行开户请尽早!附最全开户攻略
  2. IO流学习(Java)(一)
  3. 计算机男朋友好处,程序猿男朋友的好处
  4. 一道有关自然对数e的不等式问题
  5. mysql 8.0.13解压版安装_mysql 8.0.13 解压版安装配置方法图文教程
  6. 利用python提取基因cDNA长度,exon数量,pep长度和PI
  7. 破解安居家数字加密成功爬取
  8. 程序员的进阶之路,学习方法!
  9. python段落注释的语法格式是_python段落注释
  10. 关于PDF文本的解析与PDF图片的提取