JavaEE-面试-ActiveMq面试回答思路

Java面试篇【RabbitMQ】常见面试题(2024最新) 因为MQ可以异步处理,提高系统吞吐量。应用解耦,系统之间可以通过消息通信,不关心其他系统的处理。流量削峰,可以通过消息队列的长度,控制请求量。可以缓解短时间内的高并发请求。:A->BCD,但是如果E也想要这个数据,或者C不想要了。A就需要修改。与各种下游系统严重耦合。如果使用MQ,A系统产生一条消息,到MQ,哪个系统要消息就去消息系统里去消费。:A接收请求,在本地写库,在BCD三个系统分别要进行写库,本地很快,其它系统完成后传过来很慢,如果同步方式, 阅读详情

梳理下ActiveMq面试回答思路。任何知识点的回答、梳理都是类似的。

是什么?

消息中间件。可以在分布式系统的不同服务之间进行消息的发送和接收;

它的出现解决什么问题?

可以让系统解耦。
比如,使用消息中间件,某一个服务,可能依赖了其他好几个服务。比如课程里面的运营商后台依赖了4个服务,那不用mq就和4个服务耦合,用了mq,就只和1个mq耦合。参考下图:
在这里插入图片描述

##同类型技术有哪些,如何选择?
RabbitMQ,Kafka ,ZeroMQ,MetaMQ,RocketMQ

1. 对比

关于消息队列的使用----ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ
MQ选型对比RabbitMQ RocketMQ ActiveMQ Kafka
Kafka、RabbitMQ、RocketMQ消息中间件的对比—— 消息发送性能-转自阿里中间件
开源软件成熟度评测报告-分布式消息中间件

2. 结论

除了知道ActiveMQ,有必要知道Kafka的使用。需要Kafka资料的同学单独联系我。

大概介绍?

1. 1个标准

Jms标准,JMS(**Java **Messaging Service)是Java官方定义的技术规范。
JMS 定义了五种不同的消息:

消息类型消息描述备注
TextMessage字符串常用
MapMessage值对
ObjectMessage序列化的 Java 对象
BytesMessage字节的数据流
StreamMessage原始值的数据流

2. 两个角色

Producer(生产者):发消息
Consumer(消费者):收消息

3. 两种消息模式

一对一消息(私聊),Queue消息,同时一个收。
在这里插入图片描述

一对多消息(群发),Topic消息,同时可以多个收。
在这里插入图片描述

具体使用?

1. 安装mq服务器

简单,就一个tar包。
在这里插入图片描述

2. 客户端使用spring-jms

通过maven添加jar包。
创建applicationContext-jms-producer-queue.xml,配置connectionFactory,消息类型,jmsTemplate(发消息)
在这里插入图片描述

创建applicationContext-jms-consumer-queue.xml,配置connectionFactory,消息类型,messageListener(收消息)

在这里插入图片描述

发送:
在这里插入图片描述

接收:
在这里插入图片描述

实际项目应用场景?

最重要,告知面试官实际使用情况

在这里插入图片描述

删除商品-》发送消息-》接收消息-》删除索引。
商品状态更新-》发送消息-》接收消息-》导入索引库。
## 拓展说说?
消息会不会丢?
消息丢了怎么办?
消息队列的其他特性:异步处理、数据同步、流量削峰、缓冲、限流等。

2023年JAVA面试题【MQ】 RabbitMQ是一款开源的,Erlang编写的,消息中间件;最大的特点就是消费并不需要确保提供方存在,实现了服务之间的高度解耦 可以用它来:解耦、异步、削峰。Kafka 起初是由 Linkedin 公司采用 Scala 语言开发的一个多分区、多副本且基于ZooKeeper协调的分布式消息系统,现己被捐献给 Apache 基金会。目前 Kafka 已经定位为一个分布式流式处理平台,它以高吞吐、可持久化、可水平扩展、支持流数据处理等多种特性而被广泛使用。 阅读详情

相关推荐

【中英双语】Illumina测序原理详解 | 边合成边测序/Sequencing by Synthesis

很多朋友们问我视频讲解时用的笔记可不可以分享,那当然必须是可以呐!但我当时其实没有好好记录,只是打了个草稿就开讲啦!既然大家有需求,俺就重新整理了一下,希望可以帮到大家!

weixin_43843918的博客 7876

Java——《面试题——MQ篇》

前文 java——《面试题——基础篇》 Java——《面试题——JVM篇》 Java——《面试题——多线程&并发篇》 Java——《面试题——Spring篇》 Java——《面试题——SpringBoot篇》 Java——《面试题——MySQL篇》​​​​​​ Java——《面试题——SpringCloud》 Java——《面试题——Dobbo篇》 Java——《面试题——Nginx篇》 目录 前文 ​​1、为什么要使用MQ(Message Queue, 消息队列)

行秋的博客 3840

告别单一帧:在CFD-POST中完整加载Fluent瞬态计算结果的实战指南

本文详细介绍了在CFD-POST中完整加载Fluent瞬态计算结果的实战指南,解决工程师常见的只能看到最后一帧数据的问题。通过Fluent端的正确设置和CFD-POST端的完整加载技巧,帮助用户高效处理瞬态数据,提升后处理效率。文章还提供了常见问题排查、性能优化和高级后处理技巧,适用于Workbench环境下的流体流动分析。

weixin_29284657的博客 540

activemq面试题

1. activemq 的几种通信方式 publish(发布)-subscribe(订阅)(发布-订阅方式) 发布/订阅方式用于多接收客户端的方式.作为发布订阅的方式,可能存在多个 接收客户端,并且接收端客户端与发送客户端存在时间上的依赖。一个接收端 只能接收他创建以后发送客户端发送的信息。作为 subscriber ,在接收消息时 有两种方法,destination 的 receive 方法,和实现 message listener 接口的 onMessage 方法。 p2p(point-to-point

weixin_41566126的博客 1670

智能车竞赛轮腿穿越组:GPS+IMU导航绕桩实战技巧(附避坑指南)

本文详细介绍了智能车竞赛轮腿穿越组中GPS+IMU导航绕桩的实战技巧,包括硬件选型、传感器标定、路径规划及多传感器数据融合策略。通过实际案例和避坑指南,帮助参赛队伍提升导航精度和稳定性,避免常见错误。特别强调IMU安装位置和标定对导航系统的重要性。

gin88的博客 585

eCognition易康操作教程(一):如何利用eCognition易康软件进行影像分割之棋盘分割、四叉树分割、光谱差异分割

进程执行完成后,植被覆盖区域与裸地区域合并了。第三步:清除分割结果,点击“Image Objects”菜单栏,点击“Delete Level(s)”,选中“ResultLevel1”,点击”ok”删除棋盘分割结果。四叉树分割之后,有的正方形大一些,有的正方形小一些,大说明该区域的光谱特性更加均一,而小说明不太均一。Leve:选择运行算法的矢量层名称,这里选择四叉树分割算法得到的矢量层“ResultLevel2”。Image Layer weights:图层权重,这里设置为“1,1,1,1”。

蒹葭苍苍 4609

ActiveMq由浅入深讲解+面试题50道讲解

本课程共分36节,内容包括MQ概述和工作流程,启动过程与启动异常分析,消息的基本模型,基于队列的生产者和消费者,基于发布-订阅的生产者和消费者,消息的同步消费和异步消费,消息的数据类型,身份认证,持久化配置与实现,事务,死信队列,ACK策略,消息的丢失,重复重复消费,消息重发,springmvc集成,集群搭建,集群访问,50道面试精讲等。

YOLO26涨点改进| CVPR 2026 | 独家创新首发、特征融合改进篇 | 引入 LFSB 差分双维注意融合模块,通过交替特征融合与分离策略,能够精准区分目标特征,顶会助力YOLO26有效涨点

本文提出LSFB差分双维注意融合模块,用于改进YOLO26目标检测模型。该模块通过融合-分离交替策略和差分注意力机制,有效提升模型在复杂场景下的特征分离能力,特别是在处理重叠物体或反射干扰时表现优异。LSFB采用双向投影、双维注意力计算和跨流减法算子,实现特征共享与独立提取的平衡。实验表明,该模块能显著减少特征混淆,提高检测精度和鲁棒性。文章还详细介绍了模块实现的核心代码、YAML配置文件修改方法以及三种改进方案,为YOLO26模型性能提升提供了创新解决方案。

Ai缝合怪、助力小伙伴高效发论文 326

ActiveMQ面试题

ActiveMQ宕机了怎么办 官方的解决方案是主从集群(备份)方案 zookeeper集群 Replicated(瑞pk得) levelDB就是之前在讲消息持久化kahaDB的另一种消息持久化方案,这种方案的性能会比较好 activemq集群 activemq最起码有三个,因为一个activemq挂了之后可以在另外两个中选取,如果只有两个的话挂了一个就只剩下一个没法选取了,三台activemq只...

无极 1万+

刚体转动欧拉方程:从理论到卫星姿态控制的实践

刚体转动欧拉方程是描述刚体旋转运动的基本动力学方程,在卫星姿态控制、机器人学、航空航天等领域有着广泛应用。本文将详细讲解欧拉方程的物理概念、数学推导、数值计算方法,并重点分析其在卫星姿态控制系统中的具体应用。

ScilogyHunter的博客 644

《唤醒你的AI同事:WorkBuddy从零上手》004:与其他 AI 工具的对比

把 WorkBuddy 与聊天机器人、办公套件内置 AI、自动化工具逐维对比,并按当前版本补充四项新差距:结果交付、连接器广度、资料库与多模态产出。

LuckyHanMo的博客 683

activeMQ常见面试题(面试总结)

activeMQ技术栈 详细介绍一下MQ MQ简称消息队列,他是一个不同项目之间进行通讯时,对消息进行管理的组件。有了MQ,可以使项目之间交互由同步转换成异步,解耦了消息的处理过程。把消息统一管理起来,按照顺序,根据客户端的处理能力一个一个的进行操作,MQ具有送达保证、排序保证、峰值处理、异步通信几大特性。在高并发时,对于减轻数据库压力非常有效。MQ一般有点对点和发布订阅两种方式,点对点就是一个消息只允许接收一次,发布订阅模式,一个消息可以被多次接收。目前主流的产品有RabbitMQ、ActiveMQ和Ka

建仔的博客专栏 4729

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

JavaEE-面试-Solr面试回答思路

1. 是什么? 化繁为简的介绍一下这个技术是干嘛的 solr是基于Lucene的,主要用作全文检索。 2. 同类型技术 ElasticSearch,这个时候很自然的需要去了解两种技术的简单区别。ElasticSearchvs Solr多维度分析对比 3. 大概介绍介绍? 最好加入自己的一些心得和总结 2个端(服务端+客户端) 涉及到服务器安装配置和客户端操作。 服务端,安...

qq_42276197的博客 1万+

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

消息队列面试,面试官连环攻势下你还好吗?

ActiveMQ 是由 Apache 出品的一款开源消息中间件,旨在为应用程序提供高效、可扩展、稳定、安全的企业级消息通信。 它的设计目标是提供标准的、面向消息的、多语言的应用集成消息通信中间件。ActiveMQ 实现了 JMS 1.1 并提供了很多附加的特性,比如 JMX 管理、主从管理、消息组通信、消息优先级、延迟接收消息、虚拟接收者、消息持久化、消息队列监控等等。其主要特性有:(面试官在你的简历上面看到了,呦,有个亮点,你在项目里用过 MQ,比如说你用过 ActiveMQ)1.1 面试官:你在系统里用

老男孩的架构路 195

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

用户请求队列化_五分钟学后端技术:如何学习后端工程师必学的消息队列

原创声明 本文作者:黄小斜 转载请务必在文章开头注明出处和作者。 什么是消息队列 “RabbitMQ?”“Kafka?”“RocketMQ?”...在日常学习与开发过程中,我们常常听到消息队列这个关键词,可能你是熟练使用消息队列的老手,又或者你是不懂消息队列的新手,不论你了不了解消息队列,本文都将带你搞懂消息队列的一些基本理论。如果你是老手,你可能从本文学到你之前不曾注意的一些关于消息队列的重要...

weixin_36011746的博客 115

作为编程语言的“老马”,它为何一直流行至今!

黑马程序员视频库播妞微信号:mm7718mm传智播客旗下互联网资讯、学习资源免费分享平台时光在变,Java 一直没变。它被称作是编程语言的“老马”,过去企业在谈 Java,现在还是在谈 ...

传智播客的专栏 586

CnOpenData 线上招聘网站信息数据

CnOpenData线上招聘网站信息数据库是一个覆盖中国主流招聘平台、时间跨度长、更新频率高的劳动力市场需求侧大数据集合。本数据库汇集了,为学术界和业界提供了一扇实时观察中国劳动力市场动态的窗口。

CnOpenData_wj的博客 2660

《我要进大厂》- MQ夺命连环11问

你们为什么使用mq?具体的使用场景是什么? mq的作用很简单,削峰填谷。以电商交易下单的场景来说,正向交易的过程可能涉及到创建订单、扣减库存、扣减活动预算、扣减积分等等。每个接口的耗时如果是100ms,那么理论上整个下单的链路就需要耗费400ms,这个时间显然是太长了。 如果这些操作全部同步处理的话,首先调用链路太长影响接口性能,其次分布式事务的问题很难处理,这时候像扣减预算和积分这种对实时一致性要求没有那么高的请求,完全就可以通过mq异步的方式去处理了。同时,考虑到异步带来的不一致的问题,我们可以

java_kider的博客 611

java面试题(RabbitMQ)

java 消息队列面试题

Java小菜鸟 2411

ActiveMQ教程以及面试题

目录 消息中间件的引用场景 JMS消息模型: 点对点模型的特点: 发布/订阅模型的特点: 核心API: 使用API创建生产者 使用API创建消费者 JMS消息组成格式 结构: JMS Message组成 消息头 消息体 消息属性 ActiveMQ的高级特性 ActiveMQ消息持久化 消息事务 消息确认机制 消息投递方式 1、异步投递 VS 同步投递 2、延迟投递 定时投递 死信队列 ActiveMQ企业经典面试问题 ActiveMQ宕机了怎么办? 如何防止

invisible-wing的博客 1254

java面试题:MQ、RabbitMQ面试题(面试必问,精华版)

1.为什么要引入MQ/RabbitMQ(中间件),直接读写数据库不行吗? 1、在分布式系统下中间件具备异步处理,流量削峰等一系列高级功能; 2、中间件可以实现生产者和消费者之间的解耦。 3、拥有持久化的机制,进程消息,队列中的信息也可以保存下来。 4、对于高并发场景下,利用消息队列可以使得同步访问变为串行访问达到一定量的限流,利于数据库的操作。 5、可以使用消息队列达到异步下单的效果,后台进行逻辑下单。 2、什么是RabbitMQ? RabbitMQ是一款开源的,Erlang编写的,基于.

m0_63270506的博客 7380

java分布式面试题之消息队列ActiveMQ部分,java 面试 知识点

在互联网应用中,基本都会有用户注册的功能。在注册的同时,我们会做出如下操作:收集用户录入信息,保存到数据库向用户的手机或邮箱发送验证码如果是传统的集中式架构,实现这个功能非常简单:开启一个本地事务,往本地数据库中插入一条用户数据,发送验证码,提交事物。但是在分布式架构中,用户和发送验证码是两个独立的服务,它们都有各自的数据库,那么就不能通过本地事物保证操作的原子性。这时我们就需要用到ActiveMQ(消息队列)来为我们实现这个需求。

2301_82242988的博客 606

java架构师面试题—— MQ篇

个 broker上面的 partition 在其他机器上都有副本的,如果这上面有某个 partition 的 leader,那。ack 给 leader,leader 收到所有 follower 的 ack 之后,就会返回写成功的消息给生产者。然后写一个临时的分发。按照目前网络上的资料,RabbitMQ 、activeM 、ZeroMQ 三者中,综合来看,RabbitMQ 是首。RabbitMq 比Kafka 成熟,在可用性上,稳定性上,可靠性上, RabbitMq 胜于 Kafka (理论。

杜引强 696

MQ常见面试题

消息堆积是指由于消费者处理速度不足,导致消息队列中积累了大量未处理的消息,从而影响消息的传输和处理。消息堆积可能导致消息的延迟、消息的丢失、消息队列的阻塞等问题。在消息队列中,保证消息的顺序性是一个比较复杂的问题,需要考虑多个方面的因素,例如消息生产和消费的速度、消息路由的算法、消息队列的分区方式等。消息队列是一种分布式系统中的通信方式,它通过异步传输消息的方式来解耦消息的生产者和消费者。消息堆积是指消息队列中积压的消息数量超过了系统的处理能力,导致消息处理速度变慢,甚至系统崩溃的现象。

lonely_baby的博客 5894
上一篇: JavaEE-面试真题-第二次更新
下一篇: JavaEE-面试-angular面试回答思路
billycoder
博客等级 码龄17年 171粉丝 188原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值