特性 | Kafka | RabbitMQ | RocketMQ |
---|---|---|---|
功能 | 支持功能较少,不支持延迟发送,消息重试等功能 | 功能丰富,支持多个队列种类(优先级队列、延迟队列、死信队列镜像队列等),提供丰富的策略分配 | 功能完善,支持事务消息、定时消息、事务消息等 |
单机吞吐量 | 十万级 | 万级 | 几万级 |
稳定性 | 队列/分区多时性能不稳定 | 消息堆积时,性能不稳定 | 队列较多、消息堆积时性能保持稳定 |
可用性 | 非常高(分布式)具有主备故障自动切换 | 较高,基于主从架构实现高可用性 | 非常高(分布式)具有主备故障自动切换 |
选型建议 | 性能要求高,数据量大,适合产生大量数据的互联网服务的数据收集业务,如日志采集处理、需对接大数据应用等,kafka是首选。 | 数据量少,吞吐量需求不大;数据可靠性要求较高,对功能丰富性极高 | 可靠性要求很高且性能要求较高的场景以及业务削峰场景,如电商、订单处理等。 |