在 Java 面试中,消息队列(MQ)是一个常见的考察点,尤其是在涉及异步通信、解耦、流量削峰等场景时。以下是一些常见的 MQ 面试题及其解答思路,帮助你更好地准备面试。1. 消息队列是什么?它的作用是什么?消息队列(Message Queue,MQ)是一种用于在应用程序之间传递消息的中间件。作用:异步通信:发送者和接收者不需要同时在线。解耦:降低系统之间的耦合度。流量削峰:缓冲突发流量,避免系统
01、问:什么是JVM? (灵魂拷问)答:jvm是java虚拟机Java Virtual Machine的缩写。02、问:什么是java虚拟机?答:虚拟机是一种抽象化的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java虚拟机屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟
转载
2023-07-26 17:53:55
37阅读
简述Nginx、优点和缺点Nginx是一个Web服务器和反向代理服务器,可以实现负载均衡。优点:响应快高扩展、跨平台高可靠、用于反向代理低内存消耗,这个Nginx支持高并发的基础为什么要使用MQ解耦、异步、削峰解耦:一个系统或者说一个模块,调用了多个系统或者模块,互相之间很复杂,维护起来比较麻烦。但是这个接口不需要同步接口的,比如通知等,这个时候采用异步化进行解耦异步:某些操作,比如非事务操作,这
原创
2022-04-20 14:55:51
267阅读
目录1. 你们项目中哪些地方有使用到MQ2. 为什么需要使用MQ3. MQ 与多线程实现异步的区别4. MQ 如何避免消息堆积的问题5. MQ 宕机了消息是否会丢失呢6. MQ 如何保证消息不丢失7. 生产者投递消息,mq 宕机了如何处理8. MQ 如何保证消息顺序一致性问题9. MQ 如何保证消息幂等问题10. MQ 与 Redis 如何保证数据一致性问题 1. 你们项目中哪些地方有使用到MQ
转载
2023-07-27 20:18:23
60阅读
MQ的全称是Message Queue, 字面意思:“消息队列”。“消息队列”是在消息的传输过程中保存消息的容器,简单来说就是消息(数据)以“管道”的形式在两个应用之间传递。 什么是AMQP?答案:AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。AMQP的主要特征是面向消息、队列、路由
转载
2022-03-23 23:01:24
95阅读
点赞
MQ 面试题 为什么要使用MQ (1)**解耦:**A 系统发送数据到 BCD 三个系统,通过接口调用发送。如果 E 系统也要这个数据呢?那如果 C 系统现在不需要了呢?A 系统负责人几乎崩溃......A 系统跟其它各种乱七八糟的系统严重耦合,A 系统产生一条比较关键的数据,很多系统都需要 A 系 ...
转载
2021-07-04 00:18:00
109阅读
2评论
1.JDK、JRE、JVM关系?Jdk (Java Development Kit) : java语言的软件开发包。包括Java运行时环境Jre。 Jre (Java Runtime Environment) :Java运行时环境,包括Jvm。 Jvm (Java Virtual Machine) :一种用于计算机设备的规范。Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚
什么是Java虚拟机?它有哪些作用?Java虚拟机是Java程序的运行环境,它主要有以下作用:实现了Java语言的跨平台特性,即一次编写,到处运行。提供了自动内存管理机制,即垃圾回收机制。提供了安全机制,防止Java程序对系统造成损害,如禁止访问底层操作系统的资源。常量池是什么?它有哪些特点?常量池是JVM中的一个重要概念,指的是在编译阶段被确定,并保存在.class文件中的一些数据。常量池保存了
张生荣一、什么是JMSJMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持(百度百科给出的概述)。我们可以简单的理解:两个应用程序之间需要进行通信,我们使用一个JMS
转载
2023-07-19 15:39:45
42阅读
文章目录你们项目中哪些地方有使用到 MQ ?你们项目中哪些地方有使用到 MQ ?使用 MQ 异步发送
原创
2022-09-06 07:24:19
409阅读
1.那你说一下你们在项目里是怎么用消息队列的?业务流程.2.那你说说用消息队列都有什么优点和缺点?解耦: 举例说明异步: 举例说明削峰平谷: 举例说明3.kafka、activemq、rabbitmq、rocketmq都有什么区别及适合哪些场景?单机吞吐量: 1.activeMq 万级,吞吐量比Ro
转载
2020-05-20 09:14:00
256阅读
2评论
MQ的优点和缺点? 优点:解耦 异步,削峰 解耦: 所以需要用来解耦: 异步: 解决方法: 削峰: 解决方法是: 缺点:降低高可用性.增加系统的复杂程度.一致性问题 降低高可用的原因:系统引入的外部依赖越多,越容易挂掉,本来你就是A系统调用BCD三个系统的接口就好了,现在又加入一个mq,万一mq挂掉
转载
2019-06-11 22:43:00
129阅读
2评论
MQ 简述RabbitMQ的架构设计 Broker :rabbitmq的服务节点 Queue :队列,是RabbitMQ的内部对象,用于存储消息。RabbitMQ中消息只能存储在队列中。生产者投递消息到队列,消费者从队列中获取消息并消费。多个消费者可以订阅同一个队列,这时队列中的消息会被平均分摊(轮
原创
2024-07-17 10:03:28
0阅读
项目中的MQ: rabbitmqspring.rabbitmq.host=127.0.0.1 主机spring.rabbitmq.port=5672 端口spring.rabbitmq.username=guest 用户名spring.rabbitmq.password=guest spring
转载
2019-01-24 10:28:00
65阅读
2评论
MQ【B站面试题】
原创
2024-06-11 17:23:38
115阅读
市场上流行的MQ有:Kafka、ActiveMQ、RabbitMQ、RocketMQ 本文只针对RocketMQ,其他也有很多大同小异的地方文章目录1、什么是 rabbitmq2、为什么要使用 rabbitmq3、使用 rabbitmq 的场景4、如何确保消息正确地发送至 RabbitMQ? 如何确保消息接收方消费了消息?5、如何避免消息重复投递或重复消费?6、消息基于什么传输?7、消息如何分发?8、消息怎么路由?9、如何确保消息不丢失?10、使用 RabbitMQ 有什么好处?11、RabbitMQ.
原创
2021-05-20 23:37:35
252阅读
1、什么是rabbitmq?答:采用AMQP高级消息队列协议的一种消息队列技术,最大的特点就是消费并不需要确保提供方存在,实现了服务之间的高度解耦。2、为什么要使用rabbitmq?答:1、在分布式系统下具备异步,削峰,负载均衡等一系列高级功能;2、拥有持久化的机制,进程消息,队列中的信息也可以保存下来。3、实现消费者和生产者之间的解耦。4、对于高并发场景下,利用消息队列可以使得同步访问变为串行访
面试题为什么使用消息队列?消息队列有什么优点和缺点?Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么区别,以及适合哪些场景?面试官心理分析其实面试官主要是想看看:第一,你知不知道你们系统里为什么要用消息队列这个东西? 不少候选人,说自己项目里用了 Redis、MQ,但是其实他并不知道自己为什么要用这个东西。其实说白了,就是为了用而用,或者是别人设计的架构,他从头到尾都没思
ActiveMQ 和java应用的结合 章节导读 在java应用中嵌入ActiveMQ ActiveMq结合Spring 用Spring编写JMS客户端 &n
转载
2023-12-31 21:54:36
127阅读
Java分布式篇6——RabbitMQ1、MQ(Message Queue)消息队列消息队列中间件,是分布式系统中的重要组件主要解决,异步处理,应用解耦,流量削峰等问题实现高性能,高可用,可伸缩和最终一致性的架构使用较多的消息队列产品:RabbitMQ,RocketMQ,ActiveMQ,ZeroMQ,Kafka等2、应用场景2.1、异步处理2.2、应用解耦2.3、流量削峰3、AMQP、JMS、E
转载
2023-06-30 20:59:38
290阅读