rabbitMq、rocketmq\kafaka对比


rabbitMq,rocketMq,kafaka适用场景对比

架构方面:
Kafaka是正常的mq架构,包括provider broker consumer。,kafaka没有消息确认机制
rabbitMq 中的broker由exchange、binder queue三部分组成,其中exchange和binding组成了消息的路由键;客户端Producer通过连接channel和server进行通信,Consumer从queue获取消息进行消费,rabbit有消息确认机制

吞吐量方面:
Kafaka采用zero-copy方式,即数据存储和获取是本地磁盘顺序批量操作,具有O(1)复杂度,数据处理效率很高
RabbitMq在吞吐量方面不如kafaka,RabbitMq支持对消息可靠的传递,支持事务,不支持批量的操作。

可用性方面
Kafaka的broker采用主备模式,所以可用性很高
RabbitMq支持miror queue,主queue失效,minor queue生效

集群负载方面
Kafaka使用zookeeper实现负载均衡,zookeeper管理集群中的broker sonsumer,通过zookeeper的协调机制,producer会记录topic对应的broker,对broker进行轮询或者随机访问broker,实现负载均衡
RabbitMq需要单独自定义负载均衡

消息准确性方面
kafaka不支持事务,对消息的重复、丢失、错误没有严格要求;rabbitMq采用AMQP协议,AMQP协议更多用在企业系统内,对数据一致性、稳定性和可靠性要求很高的场景


rabbitMq,rocketMq对比

rabbitmq整体更稳定,延迟更小
rabbitMq社区更活跃
rabbitmq管理界面更好
rabbitmq吞吐量为万级别,少一个量级

你可能感兴趣的:(mq,mq)