【问题标题】:Rabbitmq or Ejabberd, which one should i use for one to one chat?Rabbitmq 或 Ejabberd,我应该使用哪一个进行一对一聊天?
【发布时间】:2015-03-07 17:55:18
【问题描述】:

我正在搜索 Rabbitmq(amqp) 和 Ejabberd(xmpp) 几天。但我不知道哪一种可能是一对一聊天的最佳方法?

当用户访问网页时,用户将通过使用我的聊天工具与网页管理员(如果他/她在线)进行交流。网络管理员可以在不同的聊天室同时回答多个访问者。但访问者不能互相交谈,他们只能与网络管理员交谈。

哪一个(rabbitmq 或 ejabberd)最适合这些需求? 我应该使用哪种方式来实现它? (一个交换所有东西的多个队列,每个访问者和网络管理员的不同交换和队列)?

问候

【问题讨论】:

  • 如果您只是想聊天,那么 Ejabberd 就是在构建时考虑到了该用例。 RabbitMQ 是一个更通用的消息传递服务器
  • 感谢您的回答。但我需要更多细节和它们之间的比较。性能可扩展性和与其他系统的集成,例如 spring 或 log stash
  • 可以用rabbitmq开发聊天应用。那为什么我需要使用 ejabberd 或任何使用 xmpp 的东西?
  • 问:你能和 RabbitMQ 聊天吗?答:是的。问:可以将 RabbitMQ 与 Spring 集成吗?答:是的。 RabbitMQ 是由开发 Spring 的同一家公司开发的。问:可以将 RabbitMQ 与 logstash 集成吗?答:是的。否则,大多数问题可能会有不同的意见,具体取决于您问的对象。最好始终运行自己的基准测试
  • 我为 RabbitMQ 工作,所以我只会评论 RabbitMQ ;-)

标签: xmpp rabbitmq chat amqp ejabberd


【解决方案1】:

对于聊天服务,您需要从客户端连接到服务器。 XMPP 就是为此而做的。它为各种环境(桌面、网络、移动)提供了为客户定制的协议。

AMQP 不是为此而设计的。它更适合基础设施和后端通信。

【讨论】:

  • 在 ejabberd 前面使用 websockets(stomp, 任何 js 库) 和 spring 作为代理有什么不同,比如性能或可扩展性?
  • 我的评论不是关于可扩展性。但是,是的,在 ejabberd 前面添加代理可能会限制代理的可扩展性。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多