性能
消息中间件的性能主要衡量吞吐量,Kafka的吞吐量比RabbitMQ要高出1~2个数量级,RabbitMQ的单机QPS在万级别,Kafka的单机QPS能够达到百万级别。
Kafka如果开启幂等、事务等功能,性能也会有所降低。
数据可靠性
Kafka与RabbitMQ都具备多副本机制,数据可靠性较高。
服务可用性
Kafka采用集群部署,分区与多副本的设计,使得单节点宕机对服务无影响,且支持消息容量的线性提升。
RabbitMQ支持集群部署,集群节点数量有多种规格。
功能
Kafka与RabbitMQ都是比较主流的两款消息中间件,具备消息传递的基本功能,但在一些特殊的功能方面存在差异,以下给出Kafka与RabbitMQ两个开源社区版本的比较。
表Kafka与RabbitMQ的功能差异比较
分布式消息服务提供的Kafka与RabbitMQ,在兼容开源协议的基础上,对版本特性做了部分支持或者增强。