1.消息队列的应用场景有哪些?

答:消息队列的应用场景如下。

  • 应用解耦,比如,用户下单后,订单系统需要通知库存系统,假如库存系统无法访问,则订单减库存将失败,从而导致订单失败。订单系统与库存系统耦合,这个时候如果使用消息队列,可以返回给用户成功,先把消息持久化,等库存系统恢复后,就可以正常消费减去库存了。
  • 削峰填谷,比如,秒杀活动,一般会因为流量过大,从而导致流量暴增,应用挂掉,这个时候加上消息队列,服务器接收到用户的请求后,首先写入消息队列,假如消息队列长度超过最大数量,则直接抛弃用户请求或跳转到错误页面。
  • 日志系统,比如,客户端负责将日志采集,然后定时写入消息队列,消息队列再统一将日志数据存储和转发。

2.RabbitMQ 有哪些优点?

答:RabbitMQ 的优点如下:

  • 可靠性,RabbitMQ 的持久化支持,保证了消息的稳定性;
  • 高并发,RabbitMQ 使用了 Erlang 开发语言,Erlang 是为电话交换机开发的语言,天生自带高并发光环和高可用特性;
  • 集群部署简单,正是因为 Erlang 使得 RabbitMQ 集群部署变的非常简单;
  • 社区活跃度高,因为 RabbitMQ 应用比较广泛,所以社区的活跃度也很高;
  • 解决问题成本低,因为资料比较多,所以解决问题的成本也很低;
  • 支持多种语言,主

第 6-6 课:消息队列面试题汇总相关推荐

  1. 队列处理高并发_高并发架构消息队列面试题解析

    面试题 为什么使用消息队列? 消息队列有什么优点和缺点? Kafka.ActiveMQ.RabbitMQ.RocketMQ 都有什么区别,以及适合哪些场景? 面试官心理分析 其实面试官主要是想看看: ...

  2. MQ消息队列-面试题

    一.什么是消息队列MQ(Message Queue) 消息(Message): 传输的数据. 队列(Queue):队列是一种先进先出的数据结构. 消息队列从字面的含义来看就是一个存放消息的容器. 消息 ...

  3. 消息队列面试题(2022最新整理)

    为什么要使用消息队列? 总结一下,主要三点原因:解耦.异步.削峰. 1.解耦.比如,用户下单后,订单系统需要通知库存系统,假如库存系统无法访问,则订单减库存将失败,从而导致订单操作失败.订单系统与库存 ...

  4. 消息队列面试题及答案

    1.为什么使用消息队列? 消息队列使用的场景和中间件有很多,但解决的核心问题主要是:异步.解耦.消峰填谷. 2.消息队列的优缺点 异步.解耦.消峰填谷这是消息队列最大的优点,除了这些消息队列还可以会解 ...

  5. 【MQ读书笔记之RabbitMQ】RabbitMQ消息队列面试题

    1.什么是rabbitmq及其原理 采用AMQP高级消息队列协议的一种消息队列技术,最大的特点就是消费并不需要确保提供方存在,实现了服务之间的高度解耦 Broker:它提供一种传输服务,它的角色就是维 ...

  6. Java笔试面试-消息队列面试题总结

    1.消息队列的应用场景有哪些? 答:消息队列的应用场景如下. 应用解耦,比如,用户下单后,订单系统需要通知库存系统,假如库存系统无法访问,则订单减库存将失败,从而导致订单失败.订单系统与库存系统耦合, ...

  7. 一些常见的消息队列面试题整理

    你们公司生产环境用的是什么消息中间件? RabbitMQ.ActiveMQ.RocketMQ.Kafka优缺点与应用场景 为什么在你们系统架构中要引入消息中间件? 系统解耦.异步调用.流量削峰 说说系 ...

  8. java面试题总结(六)--消息队列MQ-面试题

    原文链接 目录 1.什么是消息队列? 2.为什么要使用消息队列? 1 解耦 2 异步处理. 3 削峰 3.使用消息队列带来的一些问题 4.JMS两种消息模型 5.消息队列由哪些角色组成? 6.常见消息 ...

  9. mybatis select语句会默认带排序吗_10月阿里最新38道Java面试题解析(MyBatis+消息队列+Redis)...

    MyBatis面试题 一.谈谈你对 MyBatis 的理解? 1. Mybatis是一个半ORM(对象关系映射)框架,它内部封装了 JDBC,开发时只需要关注 SQL 语句本身,不需要花费精力去处理加 ...

最新文章

  1. java8 lambda 表达式详解
  2. CDN视频存储解决方案
  3. 生产者消费者模式 php 【转】
  4. 第k短路 (A*算法)
  5. Oracle数据库比较日期时间的大小
  6. 关于前后端交互的一些基础知识点
  7. delphi控件切图界面闪烁_先本设计教你跳过UI小程序的七个坑
  8. Java虚拟机------JVM内存区域
  9. 在线文字图标logo文章封面图生成工具
  10. h264解码延迟优化_JEET Air Plus:延迟优化技术,让你游戏不掉线
  11. 筑业软件加密锁驱动_如何在不使用额外软件的情况下对USB驱动器进行加密和密码保护...
  12. 易居(个人中心资料修改+实名认证)
  13. 联想小新系列笔记本 黑苹果BIOS配置
  14. android时间显示秒,MIUI 12桌面如何显示带秒时钟?
  15. AI根据代码内容可自动起函数名
  16. 简单的博客页面客制化 v2
  17. Android 直播RTMP流
  18. Prompt-Tuning——深度解读一种新的微调范式
  19. 什么是web前端开发工程师?主要做什么的?
  20. 一、如何完全卸载Anaconda(如何下载Anaconda-Clean package)

热门文章

  1. libzdb 连接mysql,数据库连接池库libzdb使用教程
  2. 使用conda/pip安装pytorch 0.3.1教程(mac/windos/linux) pytorch 0.2.1
  3. JDK源码解析之 Java.lang.Package
  4. wordpress后台无法登录问题
  5. 201671010128 2017-09-24《Java程序设计》之继承
  6. 《Spark核心技术与高级应用》——3.2节构建Spark的开发环境
  7. nginx1.10.2源码安装配置参数参考
  8. 金融行业 | 电子银行系统性能优化解决方案
  9. 1030利用三层交换机实现VLAN间通信
  10. pluto实现分析(22)