XMPP / Jabber与Redis Pub / Sub实时聊天服务器

我使用GitHub上的Node.js&Redis Pub / Sub,acani-node构build了一个简单的聊天服务器 。 它工作正常。 还有更多的事情要做,但我已经想出了(在我的脑海)如何去做。 但现在,我正在考虑使用XMPP服务器。

特征:

  • 一对一(单播)消息
  • 大量(多播)消息,即一个用户向1,000个用户发送相同的消息
  • 自定义群组消息(如Beluga)
  • 分层聊天室(PSub / Pub),例如,如果您发布到曲棍球聊天室,那么它也将进入体育聊天室
  • 照片和video消息(TODO)
  • 任何其他很酷的function…

此外,我知道我可以将Node.js服务器部署到Joyent Node ,并且我有一个Redis To Go的Redis服务器。

我想我会遵循YAGNI原则,并完成Redis Pub / Sub,尤其是 因为我们差不多完成了,如果我们看到需要的话就转换成XMPP。

我build议你关注YAGNI。

除非你期望有大量的增强,新的function或者通常高的缩放来发挥作用。

XMPP的另一个用例可能是如果你想让你的核心代码不依赖于特定的数据库(redis)。