B/S架构的实时通信

对于web的实时通信,例如基于Browser(下简称B)的网络聊天程序,目前主要还是靠B端向Server(下简称S)端发起轮询获得最新信息。webserver在设计的时候考虑到B端可能数量太大,所以没有保存与B端的连接信息(如IP之类的)方便下次连接,所以B/S之间的数据交互,是由B端发起的。当然,HTML5定义了WebSocket协议(浏览器还未实现),能更好的节省服务器资源和带宽并达到实时通讯。

轮询,对于大多数请求是获取不到后台更新的数据,如果频率太高则占用带宽,太低则无法及时显示实时数据。大体的做法是:B端ajax请求超时时间设长点,让其在S端没有返回数据的情况下hold住connection;S端则查询相关数据,如果有更新数据则立马返回,否则不停地循环直到有更新数据或者达到预设定的阈值为止,在每次循环中可以适当sleep一段时间。

时间: 2024-08-05 11:50:03

B/S架构的实时通信的相关文章

大中型网站技术架构浅析 - 实时通信

本文所讲述的『实时通信』主要围绕浏览s器端和服务器端之间的实时通信.大中型网站技术架构浅析 系列之一. 实时通信主要分3大类: 1. Pull技术,轮询(Polling) 客户端定时轮询请求,服务器端立刻返回. 优点:短链接,服务器处理方便,支持跨域. 缺点:有一定延迟 微博未读微博数和未读消息(评论,@)就是用polling实现的. 应用场景:对实时性要求不高的应用,如新微博提示,评论提示,回复提示等. 2. Push,反向Ajax(Reverse Ajax)或者叫Comet. 实现方式主要有

大型网站技术架构(一):大型网站架构演化

第一章:大型网站架构演化 九层之台,始于垒土:千里之行,始于足下. 对于网站的发展,亦是如此,从上世纪90年代开始,互联网经历了20多年的发展,发生了翻天覆地的变化,今天,全球有一半的人使用互联网,从信息检索到实时通信,从电子购物到文化娱乐,互联网渗透到了生活的每一个角落.但是,构建一个高性能的网站,绝非一朝一夕可以完成,我们来看下,作为一个大型网站系统应有的特点: 1.大型网站系统应有的特点 高并发,大流量:需要面对高并发用户,大流量访问.举个例子,去往迪拜的飞机有200张票,但是有100w人

试读《大数据日知录:架构与算法》有感

其实"大数据"这个词在我的脑海中还没有一个比较确切的定义,几年前我接触了一个名词"海量数据",它主要是指在数据库中如何处理优化查询海量数据的SQL,或者使用NoSQL(Not only SQL)进行处理,进而进行数据分析.数据挖掘等,从大量无规律的数据中提取出有价值的信息,总之海量数据是与数据库紧密关联的.而这两年兴起了"大数据"浪潮,我认为"海量数据"强调的是数据量的大小,而大数据则不仅仅是数据量的大小,还指每条数据本身的大

淘宝网的架构分析(小组)

一个成熟的大型网站(如淘宝.京东等)的系统架构需要考虑诸多复杂的因素,因为像淘宝这种大型网站数据量比一般的网站要大的多,所以在设计架构方面也要复杂的多,既要考虑成本因素也要考虑访问速度安全性等.这里我简单的对淘宝的网站系统架构进行一个简单的分析. 淘宝作为一个大型购物网站,其数据量是很大的,所以不像一般网站,淘宝需要用各种方法来保证服务器的正常运行以及用户购买时的良好体验.主要由以下方式:1.应用.数据.文件分离 2.利用缓存改善网站性能 3.使用CDN和反向代理提高访问速度 4.使用分布式文件

移动端网络游戏服务器架构

移动端网络游戏主要分为两种类型,一种是弱联网的,一种是强联网的. 弱联网的游戏,主要是指对游戏数据实时性要求比较低的联网游戏,比如卡牌游戏,休闲游戏等. 强联网的游戏,主要是指对游戏数据实时性要求比较高的联网游戏,比如MMORPG,ARPG等. 要求客户端与服务器之间进行实时通信. 在这里主要是跟大家讨论一下如何架设具有负载均衡的游戏服务器,对于游戏服务器开发,自然而然就会涉及到分区,跨服,并服等需求,针对这些需求我们该如何去架设服务器? 以下是我们服务器架设示意图,供大家参考: 首先我们先绘制

海量用户实时互动直播架构探索

现在比较流行的直播,经常会出现这样的情况: 用户打了一个弹幕上去,主播念出来的时候,弹幕已经飞出去了.二者时间是不匹配的. 这是我们的一个客户,两个主播连线互动,实时交互.试想,如果直播时延时高达几秒,像这样的双主播组合是没有办法进行交谈的.A说完之后,对方要等几秒才能听到,又过了几秒,A才能听到对方的回答. 这两个例子其实要说明实时互动直播和普通直播相比有本质的区别:延时.实时互动直播延时必须低达几百毫秒. 为什么是几百毫秒?为什么不是几秒也不是几毫秒?这是由人们日常交流习惯决定的.人的说话声

VICA 架构设计(1)

本文记录最近完成的一个通用实时通信客户端的架构.   背景 我们公司是做税务相关的软件,有针对大客户 MIS 系统,也有针对中小客户的 SaaS 平台.这些系统虽然都是 B/S 的,但是也需要使用 ActiveX 控件来调用本地的硬件设备打印相关的发票. 由于 ActiveX 控件只能在 IE 下使用,而且在为客户部署时,经常会出现各种各样的问题.所以 SaaS 平台在推广时,不能不配备一个相应的实施团队,为每一家客户解决这些问题. 为了更好地控制本地硬件资源,对接税控设备.我们决定开发一个统一

淘宝网系统架构分析以及数据库架构简介

一个成熟的大型网站(如淘宝.京东等)的系统架构需要考虑诸多复杂的因素,因为像淘宝这种大型网站数据量比一般的网站要大的多,所以在设计架构方面也要复杂的多,既要考虑成本因素也要考虑访问速度安全性等.这里我简单的对淘宝的网站系统架构进行一个简单的分析. 淘宝作为一个大型购物网站,其数据量是很大的,所以不像一般网站,淘宝需要用各种方法来保证服务器的正常运行以及用户购买时的良好体验.主要由以下方式:1.应用.数据.文件分离 2.利用缓存改善网站性能 3.使用CDN和反向代理提高访问速度 4.使用分布式文件

可灵活装配的web组件化企业应用架构

可灵活装配的web组件化企业应用架构 一. 问题和目标 B/S架构的web企业应用越来越流行,为解决企业用户灵活多变的业务需求和业务流程,将不同的业务应用开发为web组件,实现用户业务处理界面和业务流程的灵活配置和部署,基于SOA的服务思想设计企业web组件化应用架构. 其核心思想是: (1) 用户界面可装配 用户的业务操作界面可以通过管理员或者自己通过动态配置的方式形成,称之为视图.一个用户可以用不同的视图来处理不同的业务,或者设计自己个性化的视图满足个性化的需要. (2) 业务流程可装配 企