1、结构不一样
kafka broker:topic+partition rocketmq broker:topic+queue
kafka 注册中心:zookeeper rocketmq 注册中心:nameserver
2、消费
kafka中同一个consumergroup下消费实例无法广播消费,rocketmq可以实现广播消费
kafka如果实现广播,只要每个consumer有一个独立的group即可
3、吞吐量
kafka>rocketmq
kafka在消息存储时根据topic+partition数量创建物理文件,也就是说我们创建一个topic并指定了3个partition,那么就会有3个物理文件目录,也就说说partition的数量和对应的物理文件是一一对应的。
rocketmq消息实际上是存储在commitlog中的,consumequeue存储消息索引。
kafka多文件并发写入,而rocketmq是单文件写入,显然kafka吞吐量更大
4、nameserver VS zookeeper
kafka具备选举功能,当master挂掉会选举slave为master
rocketmq如果master挂掉,slave不会变为master;原本发送到该broker改为发送到另外broker上