比较方向 | RabbitMQ | Kafka | RocketMQ |
---|---|---|---|
资料文档 | 多(有一些不错的书, 网上资料多) | 中(有kafka作者自己写的书, 网上资料也有一些) | 少(没有专门写rocketmq的书, 网上的资料良莠不齐, 官方文档很简洁, 但是对技术细节没有过多的描述) |
开发语言 | Erlang | Scala | Java |
支持的协议 | AMQP | 自定义的一套协议 | 自定义的一套协议 |
消息存储 | 内存,磁盘(支持少量的消息堆积) | 磁盘(支持大量的消息堆积) | 磁盘(支持大量的消息堆积) |
事务消息 | 支持 | 支持 | 支持 |
管理界面 | 好 | 一般 | 无 |
消息重复 | 支持at least once, at most once | 支持at least once, at most once | 支持at least once |
吞吐量 | 单机万级 | 单机十万级(入页缓存, 刷入磁盘前重启会丢数据) | 单机万级 |
顺序消息 | 在满足一些前提的情况下, 支持消息的顺序性 | 支持 | 支持 文本居右 |
消息确认 | 支持 | 支持 | 支持 |