【发布时间】:2010-07-26 14:34:41
【问题描述】:
我使用 Jabber 实现了一个网络聊天系统,其中 Tigase 服务器和基于 Ajax 的客户端使用 JsJac 通过 BOSH 进行通信,Apache mod_proxy 将 HTTP 流量转发到 Tigase。这工作得相当好,但我注意到与桌面 Jabber 客户端(如 Exodus)相比,性能存在一个重大差距,尤其是在加入具有长期消息历史的多用户聊天时。
具体来说,从监控 HTTP 流量来看,服务器似乎每个 HTTP 请求-响应周期只能发送一条 XMPP 消息。对于正常使用来说,这很好(我们得到大约 80-100 毫秒的往返时间,这还不错),但是在加载 MUC 历史记录时,它可能是一个真正的拖累。
所以我的问题是:Jabber 或 BOSH 是否提供任何可能适用于此用例的捆绑或流式消息机制?是否有任何客户端和服务器已经实现了这样的功能?还是我必须自己修改 Tigase 和 JsJac(这当然有可能,但并不理想)?
【问题讨论】:
-
你解决过这个问题吗?听起来是个很棒的项目...
-
不完全是,但这是我仍然感兴趣的话题。我将在下面查看 Alec 的答案,看看会发生什么。