`

实时web技术

阅读更多
国外媒体近日发表文章称,实时Web并不只是一种时尚,而是一种技术趋势。将来,实时技术将成为一种默认技术,不是只有谷歌、Facebook和Twitter才能玩得起。

以下为文章内容摘要:

实时Web并不只是一种时尚,而是一种技术转移——即时访问Web。实时技术使Web应用变得更快,在某些情况下,几乎与桌面应用没有区别。

实时技术最初的灵感来源很简单——开发经典街机游戏《小行星》(Asteroids)的在线版本,不同的是可以多人同时在线游戏(MMO)。


德利斯勒“失败版”MMO《小行星》

得益于强大的网络后端的支持,在线版《小行星》需要支持数百人同时游戏。更重要的是,要做到实时效果,每个游戏玩家都能毫无延迟地看到每次射击,每个动作。

对于Hacker news 社区而言,这是一件不幸的事情,因为他们最初发现,这根本无法实现,只是一个愚人节玩笑而已。不难理解,这让不少游戏玩家感到失望,但是该创意听起来确实可行。随着技术的发展,似乎距离该目标已经不远。例如Node(用来编写高性能网络服务器的JavaScript工具包)的出现,使得用很少的几台服务器即可同时处理大量用户的指令。此外还有WebSocket协议,使得用户之间的持久连接变为可能。

但JavaScript开发人员赛博•李-德利斯勒(Seb Lee-Delisle)仍然认为不可行,他认为,一旦真的推出MMO版《小行星》,其弹性和稳定性均无法保证,因为游戏要经常交换数据、调整设置、检查冲突等。德利斯勒说:“告诉大家一个不好的消息,如果真的推出MMO版《小行星》,那么游戏也将很乏味。”

实时Web成为现实

而另一名开发人员维克拉姆•尼扎(Vikrum Nijjar)则希望将其作为一个挑战,认为是可行的。幸运的是,尼扎与其他开发人员合作,已经开发出了使之变为现实的软件Firebase。这一次,尼扎的MMO版《小行星》变为了现实,同时也登上了Hacker News的首页。

尽管也略微有些缺陷,但却保证了所有动作的实时显现,做到了最小化延迟。

“实时”是技术界颇受欢迎的一个流行语,是开发人员、商家和公共关系代表等用来描述一种体验或即时在线互动的。例如,Twitter被赞许为实时信息源,Facebook也利用好友的更新和图像实时更新用户首页,一个科技博客网站也承诺对内容进行实时更新。

但是,在上述所谓的实时服务中,都存在延迟,短的几秒钟,长的几分钟。只是我们没在意,或没必要计较而已,因为我们最终获得的内容仍具有价值,让我们满意。尽管如此,事实上的延迟不可否认。在聊天或发表评论时,这些延迟是可以容忍的。但随着数据的越来越复杂,在某些情况下,如大型多人同时在线游戏,延迟是不可接受的。

今天的许多互联网应用的运行模式是:客户端向服务器发送数据请求,然后从数据库抽取数据。如果数据发生任何变化,应用自身需要再次与服务器进行核实,免得用户手动刷新页面。这种反复连接服务器的过程被称为“轮询”(polling)。

但在实时环境下根本没有轮询,而是订阅(subscriptions)。一个客户端订阅数据库中的数据,无论何时当数据变化时,客户端都将接到更新。这种变化无需轮询,是因为它们是主动推送的,正如某些通知被推动给智能手机。

Web浏览器将成为主角

创建富媒体实时应用的Web框架Meteor联合开发人员马特•德波伽里斯(Matt Debergalis)称:“我们当前正处在这种转移时期,这种转移通常每15年发生一次,所有代码都要重新编写。”

德波伽里斯解释道,在20世纪70年代至80年代初,软件主要运行在大型主机和服务器上,用户使用非智能设备连接。到了80年代后,客户端-服务器模式出现,随后互联网诞生。

德波伽里斯说:“大约15年后,Web再次要求我们重写所有软件。因为我们将从桌面应用转向新的模式,这一次软件再次运行在服务器上。”但不同的是,这一次的终端是Web浏览器。

如今,桌面软件华丽的用户界面正在消失,取而代之的是一些简单的Web功能。从Gmail和Rdio即可看出这一变化,访问终端是Web浏览器。


Rdio应用

这就是实时连接,应用在外观和表现上与桌面应用几乎没有区别,我们预计将来的互动也没有区别。Rdio就是一个出色的Web应用,在浏览器中运行,与在桌面上运行几乎没有区别。

当然,实时技术并不是什么新鲜事物,低延迟的软件和硬件,以及对信息的几乎同步访问已存在多年。但开发人员菲尔•莱格特(Phil Leggetter)称:“没有人在金融以外的领域使用。”

莱格特称,只是最近几年,实时技术才从小众领域走进大众市场。Twitter是一个转折点,使得信息可以被实时发现。但莱格特称:“下一个目标是实时投递。”

经济实惠的Node

与任何开发人员谈论实时技术,都将不可避免地谈到Node。Node是一款用来编写高性能网络服务器的JavaScript工具包,今天的许多实时应用都采用了Node。

当然,Node也并非唯一的实现方法。Twitter服务器实时搜索结果使用的就是前端系统Blender,后者依靠的是Java网络框架Netty。而Facebook采用的是Apache Web服务器和自主开发的HipHop。

不同的是,Facebook、Twitter和谷歌不仅仅是发送和接收信息,他们还需要大量的计算能力来注释、分析和返回数据。而一些小型开发人员的需求很简单,使用Node较为实际。

实时应用通常并不需要大量的计算能力,因为这些需求可以交给专业服务来解决,如亚马逊的EC2。相反,他们需要以最快速度移动、路由和连接大量数据的能力。

这就是速度至关重要的原因。在德波伽里斯所说的Web浏览器终端世界,限制用户体验的只有两个因素,数据传输速度和同时连接服务器的数量。而Node可以在很大程度上同时解决这两大问题。

对于Facebook而言,这可能不是什么问题,因为他们对定制的PHP和Apache服务很满意,也拥有足够的资金用来升级。但对于小型开发商或开发团队而言,利用最少的资源开发出更具吸引力的实时体验无疑至关重要。

前景光明

经过多年的实时技术研究,开发人员莱格特对此持乐观态度。他说,我们已经看到一些产品和服务,虽然没有将实时作为卖点,但确实是依赖于实时技术,这是一件好事。

莱格特说:“这意味着,我们开始看到实时技术的实际应用,而不仅限于理论。这项技术很酷,让我们一起努力,充分挖掘其使用价值。”

德利斯勒同样持乐观态度,称MMO版《小行星》只是一个开始。他说:“实时技术将成为一种默认技术,不是只有谷歌、Facebook和Twitter才能承受得起。”
分享到:
评论

相关推荐

    何佳辰:实时Web的后端架构实践

    何佳辰在w3ctech的“新Web技术-实时Web与多终端”沙龙中的分享,围绕实时Web的后端架构实践进行了解析,其内容涵盖了实时Web的重要性、技术挑战以及如何构建一个高效率的后端架构。 首先,实时Web是一种让网络应用...

    基于HTML5的实时Web数据监测系统的设计与研究.docx

    传统实时Web技术主要依赖HTTP协议,其工作模式是客户端发起请求,服务器响应后断开连接。这种无状态的交互方式在实时性要求高的场景下显得力不从心。为了实现某种程度的实时性,开发者通常采用轮询或长轮询技术。...

    Web技术.ppt

    从事Web应用开发,从了解web应用技术基础开始

    WEB客户端技术 WEB客户端技术

    在提供的压缩包文件中,我们可以看到一系列有关Web客户端编程的知识点,如"ITJOB_TP"系列可能是教学课件,涵盖了不同阶段的Web技术学习;"WEB客户端编程知识要点.ppt"可能是对核心概念的总结;"chapter1-3课堂案例...

    构建实时Web应用:基于HTML5 WebSocket、PHP和jQuery(对应英文版)

    构建实时Web应用是一个涉及多种技术和工具的过程,涵盖了前端到后端开发的各个方面。基于HTML5 WebSocket、PHP和jQuery的实时Web应用开发,提供了一种高效、实时地交换数据的方式。以下是相关的知识点详解: ### ...

    WEB 数据库技术《WEB 数据库技术》

    《WEB 数《WEB 数据库技术》据库技术》《WEB 数据库技术》《WEB 数据库技术》《WEB 数据库技术》《WEB 数据库技术》《WEB 数据库技术》《WEB 数据库技术》《WEB 数据库技术》《WEB 数据库技术》

    深入分析Java Web技术内幕 修订版.pdf

    深入分析Java Web技术内幕 修订版 , 许令波版。 展示了Java Web 技术知识体系,有助于全面了解Java Web技术。

    Internet与Web技术概论

    **互联网与Web技术概论** 互联网(Internet)和Web技术是现代信息社会的基石,它们极大地改变了人们的生活、工作和交流方式。理解这两者的基本概念和技术原理,对于深入学习信息技术和相关领域至关重要。 **1. ...

    信息安全技术Web应用安全检测系统安全技术要求和测试评价方法.pdf

    "信息安全技术Web应用安全检测系统安全技术要求和测试评价方法" 根据提供的文件信息,吾可以总结出以下知识点: 1. Web应用安全检测的重要性:随着互联网的普及和web应用的普及,Web应用安全检测变得日益重要。Web...

    超实用的Web过滤技术

    Web过滤技术是网络应用安全和管理的重要组成部分,主要用于拦截、检查和处理客户端的请求,以及对服务器的响应进行相应的操作。这一技术可以帮助实现多种功能,如身份认证、权限检查、数据编码、日志记录和资源访问...

    Web渗透技术及实战案例解析

    《Web渗透技术及实战案例解析》从Web渗透的专业角度,结合网络安全中的实际案例,图文并茂地再现Web渗透的精彩过程。《Web渗透技术及实战案例解析》共分7章,由浅入深地介绍和分析了目前网络流行的Web渗透攻击方法和...

    web test web开发技术

    web test web开发技术 web test web开发技术

    深入分析Java Web技术内幕

    深入分析Java Web技术内幕深入分析Java Web技术内幕

    java web开发技术大全1 pdf

    由于Java Web开发技术大全pdf文件太大120多M,上传资源要求在20M以内,所以大家必须要把Java Web开发技术大全.z01,Java Web开发技术大全.z02,Java Web开发技术大全.z03,Java Web开发技术大全.z04,Java Web开发...

    WebSocket实时通信:构建高效实时Web应用

    在当今的互联网时代,实时通信已成为应用开发中的一项关键需求。WebSocket提供了一种在单个长连接上进行全双工通信的方式,允许服务器和客户端...随着Web技术的发展,WebSocket将继续在构建现代Web应用中发挥重要作用。

    煤矿实时监控系统中Web数据库访问技术的应用

    文章分析了Web技术监控系统的原理和组成,成功建立了煤矿生产监控系统和Web应用系统的连接。提出了基于Web浏监器监控数据库访问技术,详细描述了访问程序的开发和应用,该研究对煤矿企业信息平台实现监控系统网络化成为...

    Java Web开发技术大全.pdf

    还有可能涉及WebSocket技术,它允许双向通信,为实时Web应用提供了可能性。 容器化部署和微服务架构也是现代Java Web开发的重要趋势。Docker容器和Kubernetes集群管理工具可能在书中有所介绍,它们可以帮助开发者...

Global site tag (gtag.js) - Google Analytics