1、什么是rabbitmq?答:采用AMQP高级消息队列协议的一种消息队列技术,最大的特点就是消费并不需要确保提供方存在,实现了服务之间的高度解耦。2、为什么要使用rabbitmq?答:1、在分布式系统下具备异步,削峰,负载均衡等一系列高级功能;2、拥有持久化的机制,进程消息,队列中的信息也可以保存下来。3、实现消费者和生产者之间的解耦。4、对于高并发场景下,利用消息队列可以使得同步访问变为串行访
张生荣一、什么是JMSJMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持(百度百科给出的概述)。我们可以简单的理解:两个应用程序之间需要进行通信,我们使用一个JMS
转载
2023-07-19 15:39:45
42阅读
MQ 面试题 为什么要使用MQ (1)**解耦:**A 系统发送数据到 BCD 三个系统,通过接口调用发送。如果 E 系统也要这个数据呢?那如果 C 系统现在不需要了呢?A 系统负责人几乎崩溃......A 系统跟其它各种乱七八糟的系统严重耦合,A 系统产生一条比较关键的数据,很多系统都需要 A 系 ...
转载
2021-07-04 00:18:00
109阅读
2评论
目录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阅读
01、问:什么是JVM? (灵魂拷问)答:jvm是java虚拟机Java Virtual Machine的缩写。02、问:什么是java虚拟机?答:虚拟机是一种抽象化的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java虚拟机屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟
转载
2023-07-26 17:53:55
37阅读
BAT公司里面,同学都面过,一种比较类似的一种面试风格。就是一般我们不是发散的,我们是从点,铺开,比如说我们会可能跟你聊聊高并发话题,就这个话题里面跟你聊聊缓存、MQ等等东西吧。 对于每个小话题,比如说MQ,我们会从浅入深,这个上面的这个面试套路其实是蛮典型的,如果你确实说自己会MQ,你出去面试,去一些大公司面试,有些面试官可能就是这种风格,就是一步一步深挖其实上面是一个非常典型的关于消息队列的技
原创
2021-02-13 21:09:41
247阅读
MQ的优点和缺点? 优点:解耦 异步,削峰 解耦: 所以需要用来解耦: 异步: 解决方法: 削峰: 解决方法是: 缺点:降低高可用性.增加系统的复杂程度.一致性问题 降低高可用的原因:系统引入的外部依赖越多,越容易挂掉,本来你就是A系统调用BCD三个系统的接口就好了,现在又加入一个mq,万一mq挂掉
转载
2019-06-11 22:43:00
129阅读
2评论
文章目录你们项目中哪些地方有使用到 MQ ?你们项目中哪些地方有使用到 MQ ?使用 MQ 异步发送
原创
2022-09-06 07:24:19
409阅读
什么是Java虚拟机?它有哪些作用?Java虚拟机是Java程序的运行环境,它主要有以下作用:实现了Java语言的跨平台特性,即一次编写,到处运行。提供了自动内存管理机制,即垃圾回收机制。提供了安全机制,防止Java程序对系统造成损害,如禁止访问底层操作系统的资源。常量池是什么?它有哪些特点?常量池是JVM中的一个重要概念,指的是在编译阶段被确定,并保存在.class文件中的一些数据。常量池保存了
1.JDK、JRE、JVM关系?Jdk (Java Development Kit) : java语言的软件开发包。包括Java运行时环境Jre。 Jre (Java Runtime Environment) :Java运行时环境,包括Jvm。 Jvm (Java Virtual Machine) :一种用于计算机设备的规范。Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚
RabbitMQ在线刷题小程序微信搜索:傲浮刷题,或者扫描文章底部二维码1.什么是RabbitMQ?为什么使用RabbitMQ?2.RabbitMQ有什么优缺点?3.什么是元数据?元数据分为哪些类型?包括哪些内容?与cluster相关的元数据有哪些?元数据是如何保存的?元数据在cluster中是如何分布的?4.在单node系统和多node构成的cluster系统中声明queue、exchange,
转载
2024-06-05 08:33:35
72阅读
项目中的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阅读
一、什么是消息队列? 消息队列,是分布式系统中重要的组件。 主要解决应用耦合,异步消息,流量削峰等问题。 可实现高性能,高可用,可伸缩和最终一致性架构,是大型分布式系统中不可缺少的中间件。 目前主流的消息队列有: Kafka RabbitMq RocketMq,老版本是MetaQ ActiveMq,
转载
2020-10-20 01:55:00
172阅读
2评论
MQ 简述RabbitMQ的架构设计 Broker :rabbitmq的服务节点 Queue :队列,是RabbitMQ的内部对象,用于存储消息。RabbitMQ中消息只能存储在队列中。生产者投递消息到队列,消费者从队列中获取消息并消费。多个消费者可以订阅同一个队列,这时队列中的消息会被平均分摊(轮
原创
2024-07-17 10:03:28
0阅读
1.为什么要使用消息队列 解耦、异步、削峰 (1)解耦 传统模式的缺点: 系统间耦合性太强,如下图所示,系统A在代码中直接调用系统B和系统C的代码,如果将来D系统接入,系统A还需要修改代码,过于麻烦! 中间件模式(消息队列)优点: 将消息写入消息队列,需要消息的系统自己从消息队列中订阅,从而系统A不
转载
2021-02-25 23:16:00
179阅读
2评论
1.简介1.1 IO分类Java IO一般包含两个部分:http://java.io的阻塞型IO和java.nio的非阻塞型IO,即NIO。系统运行的瓶颈一般在于IO操作,一般打开某个IO通道需要大量的时间,同时端口中不一定就有足够的数据,这样read方法就一直等待读取此端口的内容,从而浪费大量的系统资源。使用java的多线程技术在当前进程中创建线程也是要花费一定的时间和系统资源的,因此不一定可取
转载
2023-09-11 08:11:32
337阅读
1.消息队列的应用场景有哪些?答:消息队列的应用场景如下。应用解耦,比如,用户下单后,订单系统需要通知库存系统,假如库存系统无法访问,则订单减库存将失败,从而导致订单失败。订单系统与库存系统耦合,这个时候如果使用消息队列,可以返回给用户成功,先把消息持久化,等库存系统恢复后,就可以正常消费减去库存了。削峰填谷,比如,秒杀活动,一般会因为流量过大,从而导致流量暴增,应用挂掉,这个时候加上消息队列,服
转载
2023-06-10 20:51:51
61阅读
内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux 等技术栈RabbitMQ面试题1、什么是 rabbitmq采用 AMQP 高级消息队列协议的一种消息队列技术,最大的特点就是消费并不需要确保提供方存在,实
转载
2023-09-01 11:33:29
63阅读
消息队列的使用场景非核心流程异步化,提高系统响应性能应用解耦:系统不是强耦合,消息接受者可以随意增加,而不需要修改消息发送者的代码。消息发送者的成功不依赖消息接受者(比如有些银行接口不稳定,但调用方并不需要依赖这些接口)不强依赖于非本系统的核心流程,对于非核心流程,可以放到消息队列中让消息消费者去按需消费,而不影响核心主流程最终一致性:最终一致性不是消息队列的必备特性,但确实可以依靠消息队列来做最
转载
2023-09-01 10:17:40
51阅读