ActiveMQ 用java语言开发
RabbitMQ 用Erlang语言开发 spring生态圈(推荐)
Kafka 用Scala语言开发,大数据时推荐
RocketMQ 用java语言开发
ActiveMQ | RabbitMQ | Kafka | RocketMQ | |
发布订阅 | 支持 | 支持 | 支持 | 支持 |
轮询分发 | 支持 | 支持 | 支持 | / |
公平分发 | / | 支持 | 支持 | / |
重发 | 支持 | 支持 | / | 支持 |
消息拉取 | / | 支持 | 支持 | 支持 |
假设分发100条
发布订阅:所有接收方均接收到100条
轮询分发 :不论你的服务器性能怎么样,均是公平的。每个至少接收到33条,有一条会随机
公平分发:根据服务器性能分发,会造成资源倾斜(能者多劳)。 性能高的分配的多