提高BOSH吞吐量

我使用Jabber实现了一个Web聊天系统,Tigase服务器和一个基于Ajax的客户端使用JsJac通过BOSH进行通信,Apache mod_proxy将HTTP通信转发给Tigase。 这种方式运行得很好,但我注意到性能与桌面Jabber客户端(如Exodus)之间存在一个主要差距,特别是在加入具有长消息历史记录的多用户聊天时。

具体来说,从监视HTTP流量看来,服务器只能针对每个HTTP请求 - 响应周期发送一个XMPP消息。 对于正常使用情况来说,这很好(我们可以获得大约80-100毫秒的往返时间,这并不算太坏),但是在加载MUC历史记录时,它可能是一个真正的拖延。

所以我的问题是:Jabber或BOSH是否提供了可能适用于此用例的捆绑或流式消息的机制? 已经有客户和服务器在那里实施这样的事情了吗? 或者我必须自己修改Tigase和JsJac(这当然可能,但并不理想)?


实际上,BOSH服务器可以从Jabber服务器收集尽可能多的响应,并将它们作为单一响应发送给客户端。 我是一个BOSH库的作者:http://code.google.com/p/node-xmpp-bosh/。

在BOSH的情况下,响应主体与请求主体无关。 我的意思是,响应可能并且大部分将是对不相关请求的响应(通常是稍后的请求)。


我已经在客户端(浏览器)上的服务器和GWT上实现了带有Java的BOSH通信解决方案。 AC客户端的实现也已经完成。 目前,我正在使解决方案可以在线进行测试。 请查看以下Google演示文稿,了解我的解决方案是否与您的业务相关:

https://docs.google.com/present/edit?id=0AUPL-u98h45WZGQzNWNjOGhfMGd6bWI1NmNk&hl=en&authkey=CPTzrWc

要查看演讲者备注,请确保您点击页面右下角的“查看演讲者备注”按钮。

链接地址: http://www.djcxy.com/p/94091.html

上一篇: Improving BOSH Throughput

下一篇: How easy is it to get a custom XMPP server