- rabbitmq和activemq的区别?rabbitmq有几种广播种类?
(1) activemq:
优点:老牌的消息队列,使用Java语言编写。对JMS支持最好,采用多线程并发,资源消耗比较大。如果你的主语言是Java,可以重点考虑。
缺点:由于历史悠久,历史包袱较多,版本更新很缓慢。集群模式需要依赖Zookeeper实现。最新架构的产品被命名为Apollo,号称下一代ActiveMQ,目前案例较少。
(2) rabbitmq
① 优点:
erlang语言开发,性能极其好,延时很低;
吞吐量到万级,MQ功能比较完备
开源提供的管理界面非常棒,用起来很好用
社区相对比较活跃,几乎每个月都发布几个版本分
在国内一些互联网公司近几年用rabbitmq也比较多一些
② RabbitMQ确实吞吐量会低一些,这是因为他做的实现机制比较重。
erlang开发,很难去看懂源码
rabbitmq集群动态扩展会很麻烦
三种广播模式:
fanout: 所有bind到此exchange的queue都可以接收消息(纯广播,绑定到RabbitMQ的接受者都能收到消息);
direct: 通过routingKey和exchange决定的那个唯一的queue可以接收消息;
topic:所有