当前位置:   article > 正文

ActiveMq和RabbitMq区别_activemq和rabbitmq的区别

activemq和rabbitmq的区别

1.ActiveMq,传统的消息队列,使用Java语言编写。基于JMS(Java Message Service),采用多线程并发,资源消耗比较大。支持P2P和发布订阅两种模式。
2.RabbitMQ,基于AMQP协议实现,支持多种场景,社区活跃量大。高性能,高可用,支持海量数据。

两者区别在于JMS和AMQP(此图取自别处),

 JMS提供了两种消息模型,peer-2-peer(点对点)以及publish-subscribe(发布订阅)模型。当采用点对点模型时,消息将发送到一个队列,该队列的消息只能被一个消费者消费。而采用发布订阅模型时,消息可以被多个消费者消费。在发布订阅模型中,生产者和消费者完全独立,不需要感知对方的存在。

在AMQP中,消息路由(messagerouting)和JMS存在一些差别,在AMQP中增加了Exchange和binding的角色。producer将消息发送给Exchange,binding决定Exchange的消息应该发送到那个queue,而consumer直接从queue中消费消息。queue和exchange的bind有consumer来决定。(https://blog.csdn.net/hpttlook/article/details/23391967)
 

总结:1activemq基于jms,rabbitmq基于amqp

2前者组成producer-queue-consumer,后者组成producer-exchange-binding-queue-consumenr

3支持的模式不一样  前者支持点对点和发布订阅模式,后者简单模式,工作模式,发布订阅模式,路由模式,主题模式

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/927478
推荐阅读
相关标签
  

闽ICP备14008679号