我们现有的系统通过http(apache / ssl)连接到后端,并轮询服务器以获取新消息,不用说我们有可扩展性问题。
我正在研究删除此轮询并遇到过BOSH / XMPP,但我不确定应如何采用BOSH技术(使用长期的http连接)。
我已经看到有很少的库可用,但由于我们不需要好友列表等而只是想通知客户可用的消息,所以整个事情看起来很臃肿。
客户端是用C / C ++编写的,适用于大多数操作系统,因此这是一个重要因素。服务器是Java。
bosh会导致大量的httpd进程吗?因为它必须保持所有客户端连接,这将是什么限制。我们还计划在这种情况下转向64位JVM / apache,这将是客户端的最大限制。
任何提示?
答案 0 :(得分:0)
我会注意到BOSH与XMPP是分开的,因此没有涉及“好友列表”。 XMPP-over-BOSH是你在那里想到的。
查看collecta.com及相关博客文章(可能是Jack Moffitt),了解他们如何使用BOSH(以及XMPP)向大量用户提供实时信息。
至于Apache的扩展问题,我不知道 - 可能每个连接使用的资源很少,因此可以增加每个Apache进程的连接数。但您也可以查看上面BOSH页面中提到的一些连接管理器技术(如旁遮普)。