ActiveMQ:
传统的消息队列,使用Java语言编写。基于JMS(Java Message Service),采用多线程并发,资源消耗比较大。支持P2P和发布订阅两种模式。
RabbitMQ:
是使用 Erlang 语言开发的开源消息队列系统。基于AMQP协议来实现的。AMQP的主要特征是面向消息、队列、路由(包括点对点和发布与订阅)、可靠性、安全。
基于AMQP协议实现可以支持多种场景,社区活跃量大, 高性能,高可用,支持海量数据。,同时有非常完善便捷的后台管理界面可以使用。另外,他还支持集群化、高可用部署架构、消息高可靠支持,功能较为完善。
区别:
AvctiveMQ基于JMS,需要借助Zookeeper搭建集群.
RabbitMQ基于AMQP , 内部实现集群,不需要手动搭建集群.
RabbitMQ 相对于ActiveMQ在高并发的情况下性能更好.