ActiveMQ:每个人一开始都使用ActiveMQ,但是现在确实每个人都没有使用太多。 尚未通过大规模吞吐量方案验证,社区也不是很活跃。 单台机器的吞吐量为10,000级,并且吞吐量低于RocketMQ和Kafka。 这是一个数量级,响应为ms级,有较低数据丢失的可能性。
RabbitMQ:单机吞吐率是万级,吞吐率比RocketMQ和Kafka低一个数量级,但是它适合中小企业,因为它具有友好的监视和维护界面,社区相对活跃,几乎每个月都会发布几个版本,近年来,一些国内的互联网公司更多地使用了rabbitmq,但问题也很明显。 RabbitMQ的吞吐量确实较低。 这是因为他做的实现机制比较繁重,而且该语言国内会的不多。
RocketMQ:单机吞吐量为100,000级。 RocketMQ还是一种可以支持高吞吐量的MQ。 主题可以达到数百或数千个级别,并且吞吐量将略有下降。 这是RocketMQ的主要优势。 在同一台机器上,它可以支持大量topic,可用性非常高,源代码是JAVA。
Kafka:单机吞吐量为100,000级。 这是Kafka的最大优势,即高吞吐量。 通常与 大数据 系统配合执行实时数据计算,日志收集等场景。 当topic从数十个变为数百个时,吞吐量将大大下降
因此,在同一台计算机上,Kafka尝试确保topic数量不会过多。 如果要支持大型topic,则需要添加更多机器资源,并且可用性很高。 Kafka是分布式的,具有一个数据的多个副本,并且少数计算机宕机,不会数据将丢失或不可用。