赞
踩
Kafka:中。有kafka作者自己写的书,网上资料也有一些。
rabbitmq:多。有一些不错的书,网上资料多。
zeromq:少。没有专门写zeromq的书,网上的资料多是一些代码的实现和简单介绍。
rocketmq:少。没有专门写rocketmq的书,网上的资料良莠不齐,官方文档很简洁,但是对技术细节没有过多的描述。
activemq:多。没有专门写activemq的书,网上资料多。
Kafka:Scala
rabbitmq:Erlang
zeromq:c
rocketmq:java
activemq:java
Kafka:自己定义的一套…(基于TCP)
rabbitmq:AMQP
zeromq:TCP、UDP
rocketmq:自己定义的一套…
activemq:OpenWire、STOMP、REST、XMPP、AMQP
Kafka:支持
rabbitmq:支持。
客户端将信道设置为事务模式,只有当消息被rabbitMq接收,事务才能提交成功,否则在捕获异常后进行回滚。使用事务会使得性能有所下降
zeromq:不支持
rocketmq:支持
activemq:支持
Kafka:负载均衡做得非常好。
rabbitmq:对负载均衡的支持不好。
rocketmq:支持负载均衡。一个broker通常是一个服务器节点,broker分为master和slave,master和slave存储的数据一样,slave从master同步数据。
Kafka:一般
rabbitmq:好
zeromq:无
rocketmq:一般
activemq:一般
Kafka:非常高(分布式)
rabbitmq:高(主从)
zeromq:高。
rocketmq:非常高(分布式)
activemq:高(主从)
Kafka:支持at least once、at most once
rabbitmq:支持at least once、at most once
zeromq:只有重传机制,但是没有持久化,消息丢了重传也没有用。既不是at least once、也不是at most once、更不是exactly only once
rocketmq:支持at least once
activemq:支持at least once
Kafka:极大
Kafka按批次发送消息和消费消息。发送端将多个小消息合并,批量发向Broker,消费端每次取出一个批次的消息批量处理。
rabbitmq:比较大
zeromq:极大
rocketmq:大
rocketMQ接收端可以批量消费消息,可以配置每次消费的消息数,但是发送端不是批量发送。
activemq:比较大
Kafka:支持。
rabbitmq:支持。
zeromq:支持。
rocketmq:支持。
activemq:支持。
Kafka:支持指定分区offset位置的回溯。
rabbitmq:不支持
zeromq:不支持
rocketmq:支持指定时间点的回溯。
activemq:不支持
原文链接:Mq作为消息队列使用时的差异?
参考
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。