1

我们计划在我们的移动应用程序中引入实时聊天功能。当然,我们将采用 XMPP 方式。

任何人都可以了解 Openfire 在现实世界中不同大小的 EC2 实例(Windows 服务器)上支持的最大并发用户数的统计数据吗?

我们正在查看从 22500 名并发用户到 75000 名并发用户的数字,具体取决于预测的应用下载增长模式和用户对这一新的实时聊天功能的适应性。时间范围 = 未来 12 个月。

从我到目前为止所做的任何谷歌搜索来看,Openfire 似乎在横向扩展方面可能不是最好的选择,那么随着时间的推移,单个 ec2 实例能否支持这些数字?即:我们开始托管较小的实例,并根据负载需求不断增加实例大小。

当涉及到扩展时,Ejabbered 似乎是最好的选择,但是因为我们需要具备 erlang 技能才能扩展它,所以 ejabbered 对我们来说是一个艰难的选择。另一个替代方法是 tigase,它是 java,因此我们可以轻松扩展它,但如果 Openfire 可以通过扩展与扩展在接下来的 12 个月左右为我们工作,我们很乐意现在使用它,看看它有多好新的聊天功能被接受。第一个原因是易于管理。

最后,如果您可以在 SaaS / PaaS 提供商上为 XMPP 聊天提供链接提供帮助,并在用户离线时将通知推送到移动设备,那就太棒了。我们与 quickblox.com 取得了联系,但他们的企业产品目前对我们来说似乎很昂贵。如果我们采用 SaaS / PaaS 方式,我们希望数据 100% 的所有权和可移植性。

4

4 回答 4

2

有几个关于 Openfire在单个服务器上处理这些和大量并发用户的参考资料。

2007 年的可扩展性文档显示 3.2 版支持 50000 个用户。当前版本是 3.7.1。不要忘记,这也意味着比你今天可能运行的任何机器都要慢得多。

您还必须考虑将使用 XMPP 的哪些功能,但简单的消息传递应该能够轻松处理您所指的数字。

于 2012-02-28T22:33:32.440 回答
1

你提到的数字应该很容易被 ejabberd 处理。

我不确定你想如何“扩展”ejabberd。所有服务器都可以很好地处理多用户聊天和消息传递,当然还有 ejabberd。此外,如果您正在考虑自定义协议,可以用您选择的语言编写这些协议,并作为 XMPP 组件连接到 ejabberd。

您可能会错过的唯一一件事是 Web 界面(ejabberd 有,但它相当有限),但是如果您希望通过应用程序的 Web UI 管理事物,您将需要重新考虑;)

于 2012-02-17T18:20:52.593 回答
0

Android Push Notification是一个很好的解决方案。

使用 Android-Push 服务,您(Android 开发人员)可以直接向安装了您的应用程序的人发送消息。您所需要的只是在您的应用程序中包含一个代码片段,然后发布到特定的 URL 以接触您的应用程序用户,即使您的应用程序在他们的手机上处于非活动状态。

特征:

自由的

免费,除非您的应用需要大量推送。当然,您可以为更多的推动和更快的技术支持付费。

简单的

非常容易集成到您的应用程序中推送到应用程序超级简单:只需发送一个 URL 请求无 C2DM 限制,您无需拥有 gmail 帐户即可使用推送服务云服务,无需设置自己的推送服务器

有效的

手机电池和网络消耗低 跟踪用户互动,了解用户对您的推送有何反应

于 2012-03-06T09:34:24.230 回答
0

如果您想使用 ejabberd,您可以随时获得 ProcessOne 的支持。这是 ejabberd 的另一个优点,因为如果您愿意/负担得起,它可以得到商业支持。

于 2012-02-23T13:40:37.977 回答