我不确定构建聊天应用程序的最佳堆栈。目前我正在考虑两个主要选择:
聊天应用程序需要具备以下条件:
这两个选项似乎都是可扩展的,所以我并不担心(我们也在考虑在亚马逊的 ec2 中运行该应用程序)。我知道有一个项目使用 tornado 构建 xmpp 服务器,但它还没有准备好用于生产,而且我们的截止日期也没有那么大。基本上,我主要担心的是开发的难易程度与后来使用 pubsubhubbub 开发聊天应用程序的遗憾,但我在某处读到 PubSubHubbub 最终可能会取代 XMPP,因为 REST 取代了 SOAP - 那么你怎么看?
最佳答案
去 XMPP。
开箱即用,ejabberd 支持您的所有要求。您不需要查看任何 erlang 并为 ejabberd 编写自定义模块。
使用 Strophejs,浏览器中的 XMPP(这显然是您正在做的)非常棒。
对于您关于 pubsubhubbub 替换 XMPP 的最后一个问题,不要指望它。 XMPP 已有 10 多年的历史,在客户端和服务器上都是可靠的开源和专有的可互操作实现,并且非常优雅,因此它不会消失。
你正在开发一个聊天应用程序,这就是 XMPP 的用途。
关于聊天应用程序 : pubsubhubbub vs xmpp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2467724/