2024年4月20日发(作者:)
ActiveMQ面试题及答案
1、什么是 ActiveMQ?
activeMQ是一种开源的,实现了JMS1.1规范的,面向消息(MOM)的中间件,为应
用程序提供高效的、可扩展的、稳定的和安全的企业级消息通信。
2、Activemq的瓶颈值
根据网上一般评测文档上来看,每秒的消息吞吐在2000以上, acticemq也可以集群
化部署,也是使用zookeeper来搭建。
3、ActiveMQ服务器宕机怎么办?
这得从ActiveMQ的储存机制说起。在通常的情况下,非持久化消息是存储在内存中
的,持久化消息是存储在文件中的,它们的最大限制在配置文件的
中配置。
但是,在非持久化消息堆积到一定程度,内存告急的时候,ActiveMQ会将内存中的
非持久化消息写入临时文件中,以腾出内存。虽然都保存到了文件里,但它和持久化消息
的区别是,重启后持久化消息会从文件中恢复,非持久化的临时文件会直接删除。
那如果文件增大到达了配置中的最大限制的时候会发生什么?我做了以下实验:
设置2G左右的持久化文件限制,大量生产持久化消息直到文件达到最大限制,此时
生产者阻塞,但消费者可正常连接并消费消息,等消息消费掉一部分,文件删除又腾出空
间之后,生产者又可继续发送消息,服务自动恢复正常。
设置2G左右的临时文件限制,大量生产非持久化消息并写入临时文件,在达到最大
限制时,生产者阻塞,消费者可正常连接但不能消费消息,或者原本慢速消费的消费者,
消费突然停止。整个系统可连接,但是无法提供服务,就这样挂了。
具体原因不详,解决方案:尽量不要用非持久化消息,非要用的话,将临时文件限制
尽可能的调大。
4、AcitveMQ的作用、原理?(生产者、消费者。p2p、订阅实现流程)
Activemq的作用就是系统之间进行通信。当然可以使用其他方式进行系统间通信,
如果使用Activemq的话可以对系统之间的调用进行解耦,实现系统间的异步通信。原理
就是生产者生产消息,把消息发送给activemq。Activemq接收到消息,然后查看有多少
个消费者,然后把消息转发给消费者,此过程中生产者无需参与。消费者接收到消息后做
相应的处理和生产者没有任何关系
5、activemq在项目中如何应用的
Activemq在项目中主要是完成系统之间通信,并且将系统之间的调用进行解耦。例
如在添加、修改商品信息后,需要将商品信息同步到索引库、同步缓存中的数据以及生成
静态页面一系列操作。
在此场景下就可以使用activemq。一旦后台对商品信息进行修改后,就向activemq
发布评论