rabbitmq中的broker(英文翻译,碎片.在一些应用中通常是指服务器,比如集群中的一台或多台服务器统称broker)是什么,cluster(集群)又是指什么。
broker是指一个或多个erlang node的逻辑分组,且node上运行着rabbitmq应用程序。cluster是在broker的基础之上,增加了node之间共享元数据的约束。
RabbitMQ 上的一个 queue 中存放的 message 是否有数量限制?
可以认为是无限制,因为限制取决于机器的内存,但是消息过多会导致处理效率的下降。
rabbitmq和activemq有什么区别:
1.语言不同,rabbitmq使用erlang,activemq使用java。mq主要特点:
解耦、异步、削峰
经常拿来比较的这几个如下图所示:
2.activemq算是老牌的消息队列了,采用java编写,对JMS支持最好,采用多线程并发,资源消耗比较大,主语言是java,可以重点考虑。
缺点:由于历史悠久,历史包袱较多,版本更新缓慢,集群模式需要使用zookeeper实现。最新架构产品命名为Apollo,号称下一代activemq,目前案例较少。
3.rabbitmq,生态丰富,使用者众,AMQP协议的实现,支持多种场景
缺点:erlang开发,真正涉及到使用代码上是否能上手,虽然erlamg是天然集群化的,但rabbitmq在高可用方面做起来还不是特别得心应手。