选择MQ时,主要关注的特性,可能就以下几个:
通信模式(是否满足业务场景):
ActiveMQ: queue(producer/consumer), topic(publisher/subsriber)
RabbitMQ: AMQP协议支持路由选择和广播
ZeroMQ: 支持REQ,PUSH, PULL等模式
支持的接口语言:
这三个因为比较流行,所以常见的语言比如Python,php等都有相应的封装。。这样,客户端和服务端可以用不同语言来写了
message持久化:
ActiveMQ 和 RabbitMQ都支持
服务器主备搭建,客户端自动failover支持:
ActiveMQ(非常容易) > RabbitMQ > ZeroMQ
如果对性能敏感,可能需要在上面几个都选定了的情况下,测试一下性能,做到心里有数。
性能测试可以可以参考原文:http://blog.csdn.net/chenweitongzju/article/details/8172979