1、什么是消息队列: 1.1、消息队列的优点:(1)解耦:将系统按照不同的业务功能拆分出来,消息生产者只管把消息发布到 MQ 中而不用管谁来取,消息消费者只管从 MQ 中取消息而不管是谁发布的。消息生产者和消费者都不知道对方的存在;(2)异步:主流程只需要完成业务的核心功能;对于业务非核心功能,将消息放入到消息队列之中进行异步处理,减少请求的等待,提高系统的总体性能;(3)削峰/限流:将所有请求都
原创 2023-07-18 16:34:20
52阅读
1.为什么要使用消息队列 解耦、异步、削峰 (1)解耦 传统模式的缺点: 系统间耦合性太强,如下图所示,系统A在代码中直接调用系统B和系统C的代码,如果将来D系统接入,系统A还需要修改代码,过于麻烦! 中间件模式(消息队列)优点: 将消息写入消息队列,需要消息的系统自己从消息队列中订阅,从而系统A不
转载 2021-02-25 23:16:00
137阅读
2评论
 1、面试题 如何保证消息的顺序性? 2、面试官心里分析 其实这个也是用MQ的时候必问的话题,第一看看你了解不了解顺序这个事儿?第二看看你有没有办法保证消息是有顺序的?这个生产系统中常见的问题。 3、面试题剖析 我举个例子,我们以前做过一个mysql binlog同步的系统,压力还是非常大的,日同步数据要达到上亿。mysql ->
1、面试题 (1)为什么使用消息队列啊?(2)消息队列有什么优点和缺点啊?(3)kafka、activemq、rabbitmq、rocketmq都有什么区别以及适合哪些场景?2、面试官心理分析 (1)第一,你知道不知道你们系统里为什么要用消息队列这个东西? 我之前面试就见过大量的候选人,说自己项目里用了redis、mq,但是其实他并不知道自己为什么要用这个东西。其实说
1.为什么要用消息队列解耦、异步、削峰A系统调用B系统、C系统,传统的调用是直接调用,但是当B系统说我不需要你提供数据了,这时候A需要改代码,C系统说我不需要某个字段了,这时候A也要改代码,如果又多了一个D系统,A又要写代码。为了实现解耦,引入消息队列,A将产生的数据丢到消息队列中,哪个系统需要 哪个系统就去取;A系统调用B系统,B系统由于某个需要调用第三方接口超时,导致A系统响应速度慢,而B系统
1.为什么要使用消息队列解耦、异步、削峰(1)解耦传统模式的缺点:系统间耦合性太强,如下图所示,系统A在代码中直接调用系统B和系统C的代码,如果将来D系统接入,系统A还需要修改代码,过于麻烦!   中间件模式(消息队列)优点:将消息写入消息队列,需要消息的系统自己从消息队列中订阅,从而系统A不需要做任何修改。 (2) 异步传统模式:一些非必要的业务逻辑以同步的方式运行,太耗费时
1、面试题 如何保证消息的可靠性传输(如何处理消息丢失的问题)? 2、面试官心里分析 这个是肯定的,用mq有个基本原则,就是数据不能多一条,也不能少一条,不能多,就是刚才说的重复消费和幂等性问题。不能少,就是说这数据别搞丢了。那这个问题你必须得考虑一下。 如果说你这个是用mq来传递非常核心的消息,比如说计费,扣费的一些消息,因为我以前设计和研发过一个公司非常
常见消息队列面试题1.为什么要用消息队列?(消息队列的应用场景?)消息队列的本质?消息队列是一种“先进先出”的数据结构,一般用其作为数据的传递常见的应用场景:解耦,异步以及削峰解耦:场景:双11是购物狂节,用户下单后,订单系统需要通知库存系统,传统的做法就是订单系统调用库存系统的接口.这种做法有一个缺点:当库存系统出现故障时,订单就会失败。 订单系统和库存系统高耦合. 引入消息队列订单系统: 用户
一、什么是消息队列消息队列,是分布式系统中重要的组件。 主要解决应用耦合,异步消息,流量削峰等问题。 可实现高性能,高可用,可伸缩和最终一致性架构,是大型分布式系统中不可缺少的中间件。 目前主流的消息队列有: Kafka RabbitMq RocketMq,老版本是MetaQ ActiveMq,
转载 2020-10-20 01:55:00
160阅读
2评论
MQ消息队列-面试篇1、什么是消息队列消息队列是一种可以存储消息的容器,当我们需要消息的时候可以取出消息供自己使用,并且是有顺序的。2、为什么要使用消息队列? 简单而言就6个字:解耦、异步、削峰(1)解耦(2)异步 (3)削峰3、消息队列由哪些角色组成? (1)生产者,负责产生消息 (2)消费者,负责消费消息 (3)消息代理,负责存储消息和转发消息。其中,转发消息分为推送和拉取两种方式。拉取(
文章目录一、什么是消息队列1.1 消息队列的优点1.2 消息队列的缺点1.3 消息队列的选型二、RabbitMQ 构造三、如何保证消息不被重复消费四、如何保证消息不丢失,进行可靠传输?4.1 生产者丢数据4.2 消息队列丢数据4.3 消费者丢数据五、如何保证消息的有序性六、如何保证消息队列的高可用6.1、单机模式6.2、普通集群模式6.3、镜像集群模式 一、什么是消息队列1.1 消息队列的优点解
复习要点 本文主要围绕如下几点进行阐述: 为什么使用消息队列? 使用消息队列有什么缺点? 消息队列如何选型? 如何保证消息队列是高可用的? 如何保证消息不被重复消费? 如何保证消费的可靠性传输? 如何保证消息的顺序性? 下面围绕以上七点进行阐述。需要说明一下,本文不是《消息队列从入门到精通》这种教程
转载 2020-05-30 14:56:00
155阅读
2评论
消息队列为什么要使用消息队列?异步解耦:关注的是通知而非处理。 流量削峰:将短时间内高并发的请求持久化,然后逐步处理,削平高峰期的请求。日志收集: 事务最终一致性 系统间的消息通信方式: 远程过程调用的方式 消息队列的方式 消息队列的缺点?系统的可用性降低:系统引入的外部依赖越多,越容易挂掉。系统复杂度提高:需要考虑消息的重复、有序、不丢失。消息队列由哪些角色组成?生产者:负责生产消息 消费者:负
1、为什么使用消息队列消息队列常见的使用场景其实有很多,但是比较核心的有 3 个:解耦、异步、削峰。 2、消息队列有什么优点和缺点? 优点就是在特殊场景下有其对应的好处,解耦、异步、削峰。 缺点有以下几个: ⚫ 系统可用性降低 系统引入的外部依赖越多,越容易挂掉。本来你就是 A 系统调用 BCD 三个系统的接口就 好了,人 ABCD 四个系统好好的,没啥问题,你偏加个 MQ 进
1. RabbitMQ的使用场景有哪些?跨系统的异步通信 多个应用之间的耦合 应用内的同步变异步 消息驱动的架构2. RabbitMQ有哪些重要的角色?生产者,消费者,代理3. RabbitMQ有哪些重要的组件?ConnectionFactory(连接管理器) Channel(信道) Exchange(交换器) Queue(队列) RoutingKey(路由键) BindingKey(绑定键)4.
RabbitMQ面试题1. rabbitmq 的使用场景有哪些? ①.跨系统的异步通信: 所有需要异步交互的地方都可以使用消息队列. ②.多个应用之间的解耦: 由于消息队列是平台无关和
原创 2022-12-23 15:16:27
118阅读
面试官在面试候选人时,如果发现候选人的简历中写了在项目中使用了 MQ 技术(如 Kafka、RabbitMQ、RocketMQ),基本都会抛出一个问题:在使用 MQ 的时候,怎么确保消息 100% 不丢失?这个问题在实际工作中很常见,既能考察候选者对于 MQ 中间件技术的掌握程度,又能很好地区分候选人的能力水平。接下来,我们就从这个问题出发,探讨你应该掌握的基础知识和答题思路,以及延伸的面试考点。
1、为什么使用消息队列消息队列使用的场景和中间件有很多,但解决的核心问题主要是:异步、解耦、消峰填谷。2、消息队列的优缺点异步、解耦、消峰填谷这是消息队列最大的优点,除了这些消息队列还可以会解决一些我们特殊业务场景的问题。但是缺点主要在于系统的可用性、复杂性、一致性问题,引入消息队列后,需要考虑MQ的可用性,万一MQ崩溃了岂不是要爆炸?而且复杂性明显提高了,需要考虑一些消息队列的常见问题和解决方
转载 2023-08-13 21:35:56
92阅读
1.消息队列的应用场景有哪些?答:消息队列的应用场景如下。应用解耦,比如,用户下单后,订单系统需要通知库存系统,假如库存系统无法访问,则订单减库存将失败,从而导致订单失败。订单系统与库存系统耦合,这个时候如果使用消息队列,可以返回给用户成功,先把消息持久化,等库存系统恢复后,就可以正常消费减去库存了。削峰填谷,比如,秒杀活动,一般会因为流量过大,从而导致流量暴增,应用挂掉,这个时候加上消息队列,服
内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux 等技术栈RabbitMQ面试题1、什么是 rabbitmq采用 AMQP 高级消息队列协议的一种消息队列技术,最大的特点就是消费并不需要确保提供方存在,实
  • 1
  • 2
  • 3
  • 4
  • 5