推荐一个开源消息队列服务

时间:2012-05-04 01:54:58

标签: jms message-queue zeromq gearman mq

有人可以为我推荐一个开源消息队列吗?像JMS,gearmand,zeroMq,Amazon SQS。 Tt最好满足以下几点(不是强迫性的):

  1. 分布式和可扩展。
  2. 支持异步消息。
  3. 最好支持pub / subscribe
  4. 高可用性,最好永不丢弃消息。
  5. 高性能
  6. 最好支持php sdk,以及由c / c ++开发的mq服务器。
  7. 易于使用
  8. 项目已激活。
  9. 非常感谢!

3 个答案:

答案 0 :(得分:5)

经典经纪人:

  • Apache ActiveMQ - 它是Apache的JMS代理实现。用Java编写。
  • RabbitMQ - 用Erlang编写的流行AMQP代理实现。
  • StormMQ - 用Java编写的AMQP代理。 RabbitMQ的直接替换(不需要更改客户端)。
  • Apache Qpid - AMQP经纪人,RabbitMQ的另一种替代方案。用Java和C ++编写。

上面还提供HTTP(REST API),XMPP和STOMP传输。

其他东西:

  • ZeroMQ - 这不是经纪人,而是图书馆。允许brokered or broker-less architectures。非常轻,非常通用,非常快。用C ++编写。
  • 亚马逊SQS - 缺乏其他人的功能。消息之类的尴尬限制不能保证按顺序排列,也不能只发送一次。没有酒吧/子建筑。仅限与AWS结合使用。相当高的延迟。

  
      
  1. 分布式和可扩展。 - 以上全部
  2.   
  3. 支持异步消息。 - 以上全部
  4.   
  5. 最好支持发布/订阅 - 除SQS以外的所有内容
  6.   
  7. 高可用性,最好永不丢弃消息。 - 全部,部分取决于设置
  8.   
  9. 高性能 - 所有吞吐量,一些较少的延迟
  10.   
  11. 最好支持php sdk, - 以上所有 PHP内置了AMQPSTOMP个客户端,ZMQ和{{3具有特定的绑定。
      和c / c ++开发的mq服务器 - 只有ZeroMQ,但它不是真正的服务器
  12.   
  13. 易于使用 - 以上所有
  14.   
  15. 项目已激活。 - 以上全部
  16.   

答案 1 :(得分:0)

ActiveMQ符合要求。但这不是c ++

答案 2 :(得分:0)

ActiveMQ是最好的。还支持C ++ ...请参阅CMS