我正在开发一个为社交网站用户提供聊天服务的应用程序。在开始之前,我不知道XMPP协议,我在服务器上开发了几乎50%的基本聊天操作,而没有遵循这个协议。但是现在我想使用这个协议和一个可用的开源服务器,扔掉我自己的程序(这对我来说很难)。
我需要一个XMPP服务器
我大部分时间都需要他们的联系。
我们希望立即传递所有消息,即使用户不在应用程序中(例如,在Android中,运行服务活动/线程)。
我需要帮助,请介绍一个Jabber/XMPP服务器开放源码程序,它可以做到这一点(并运行在Linux和/或Windows上)。
我需要提供一个像宁巴斯这样的程序,并进行一些不同的定制。
发布于 2014-12-05 15:46:26
披露:我在MongooseIM工作。
我推荐一种基于Erlang的服务器:MongooseIM或埃贾伯德。MongooseIM最初是ejabberd的一个分支,但是最近几年代码库出现了很大的分歧。
这些服务器在其他选项中脱颖而出,不是在特性丰富性(他们do不过,它提供了很多功能)方面,而是因为它们利用了Erlang/OTP平台提供的可伸缩性机制。为了回应你们的观点:
可伸缩
Erlang具有惊人的可伸缩性。WhatsApp是Erlang可伸缩性的最新海报,但是如果你在谷歌上搜索,你会发现更多。
可处理1,000万至1,500万用户
如果您想要扩展到数百万用户,请准备好构建一个具有大量RAM的功能强大的机器集群(这两台服务器都是内存绑定的)。据我所知,在野外部署了大约200万用户。英雄联盟 chat运行了几个联邦集群,可以处理7000万用户,但他们使用的是一个经过大量修改的ejabberd。
在Linux和/或Windows上运行
您最好在Linux上运行。Erlang确实可以在windows上工作,但我不确定大型应用程序在这个平台上的性能如何。
是开放源码
是的,两者都是开源的,都是GPL许可的。
发布于 2015-07-28 11:47:53
ejabberd有大量的大规模部署,由Nimbuzz使用。
ejabberd社区已经开始为ejabberd服务器部署建立一个带有用例的web页面。这只是其中的一小部分,其中包括ejabberd的变体(如Business ),也只有那些公开使用ejabberd的人(我知道更多不愿公开使用ejabberd的案例)。
参考资料:ejabberd文档站点上的用例页面.
https://softwarerecs.stackexchange.com/questions/14377
复制相似问题