很多人  不知道 mq 到底干嘛的 那么 就以自己理解说一下 到底什么是mq

为什么会需要消息队列(MQ)?

按照业务场景 也就是 : 当有大量的 insert update 语句 去请求mysql  可能 直接导致无数 行锁  表锁  甚至最后请求会堆积过多,从而触发too many connections错误。

通过使用消息队列,我们可以异步处理请求,从而缓解系统的压力。

当不需要立即获得结果,但是并发量又需要进行控制的时候,差不多就是需要使用消息队列的时候。

消息队列主要解决了应用耦合、异步处理、流量削锋等问题。

应用耦合:多应用间通过消息队列对同一消息进行处理,避免调用接口失败导致整个过程失败;

异步处理:多应用对消息队列中同一消息进行处理,应用间并发处理消息,相比串行处理,减少处理时间;

限流削峰:广泛应用于秒杀或抢购活动中,避免流量过大导致应用系统挂掉的情况;

MQ在高并发情况下,如何队列满了?如何防止消息丢失?

也就是说 队列的长度 满了  可能会出现 拒绝投递的问题 那么 就可能导致 消息丢失

这时候有个概念 就是 死信队列

如果现在  普通队列满了 那么死信队列就被作为 备胎

死信备胎 等待 消费  如果死信队列满了  那么 这时候应该解决的是 消费者 的消费能力提高  可以做 消费者集群 提高消费能力

mq消息队列到底是什么相关推荐

  1. 多维度对比5款主流分布式MQ消息队列,妈妈再也不担心我的技术选型了

    1.引言 对于即时通讯网来说,所有的技术文章和资料都在围绕即时通讯这个技术方向进行整理和分享,这一次也不例外.对于即时通讯系统(包括IM.消息推送系统等)来说,MQ消息中件间是非常常见的基础软件,但市 ...

  2. 阿里云ACE共创空间——MQ消息队列产品测试

    一.产品背景 消息队列是阿里巴巴集团自主研发的专业消息中间件. 产品基于高可用分布式集群技术,提供消息订阅和发布.消息轨迹查询.定时(延时)消息.资源统计.监控报警等一系列消息云服务,是企业级互联网架 ...

  3. IM开发基础知识补课(五):通俗易懂,正确理解并用好MQ消息队列

    1.引言 消息是互联网信息的一种表现形式,是人利用计算机进行信息传递的有效载体,比如即时通讯网坛友最熟悉的即时通讯消息就是其具体的表现形式之一. 消息从发送者到接收者的典型传递方式有两种: 1)一种我 ...

  4. MQ消息队列产品测试

    2019独角兽企业重金招聘Python工程师标准>>> 一.产品背景 消息队列是阿里巴巴集团自主研发的专业消息中间件. 产品基于高可用分布式集群技术,提供消息订阅和发布.消息轨迹查询 ...

  5. MQ(消息队列)常见的应用场景解析

    MQ(消息队列)常见的应用场景解析 原文:MQ(消息队列)常见的应用场景解析 前言 提高系统性能首先考虑的是数据库的优化,之前一篇文章<数据库的使用你可能忽略了这些>中有提到过开发中,针对 ...

  6. PHP面试要点——MQ消息队列

    MQ消息队列 常见的消息队列有RabbitMQ.kafka.redis RabbitMQ RabbitMQ是使用Erlang编写的一个开源消息队列,本身支持很多协议,实现了AMQP协议,重量级的.实现 ...

  7. MQ消息队列中间件:

    MQ消息队列中间件: 微服务间通讯有同步和异步两种方式: 同步通讯:就像打电话,需要实时响应. 异步通讯:就像发信息,不需要马上回复. 同步调用的优点: 时效性较强,可以立即得到结果 同步调用的问题: ...

  8. java使用mq教程,Java语言快速实现简单MQ消息队列服务

    使用 JAVA 语言自己动手来写一个MQ (类似ActiveMQ,RabbitMQ) 主要角色 首先我们必须需要搞明白 MQ (消息队列) 中的三个基本角色 Producer Broker Consu ...

  9. MQ消息队列的使用(邮件的发送)

    MQ消息队列的使用(邮件的发送) MQ消息队列 A:利用Maven加载相关的jar报,当然也可以自己写MQ,用来生产者的消息 jms交给spring进行管理 C.生产者配置 D.创建生产者消息转换器 ...

  10. MQ消息队列详解、四大MQ的优缺点分析

    MQ消息队列详解.四大MQ的优缺点分析 前言 面试题切入 面试官心理分析 面试题剖析 ①为什么要使用MQ 系统解耦 异步调用 流量削峰 消息队列的优缺点 四大主流MQ(kafka.ActiveMQ.R ...

最新文章

  1. Chap 07 HTML建立超链接
  2. BlogEngine.NET1.2的新功能
  3. 实现WIFI客户端上网设置说明
  4. 发送WM_COPYDATA消息实现进程间的通信
  5. 用代码的方式增加servlet mapping定义
  6. 移动电话之父第一个电话打给对手,起底现代移动通信崛起之路!
  7. 计算机学科技术前沿:第31次中国互联网络发展状况统计报告
  8. 计算机辅助设计工业产品cad竞赛试题,2017工业产品设计CAD比赛试题
  9. python pip_Python PIP
  10. slab中记录空闲对象
  11. 《高翔视觉slam十四讲》学习笔记 第九讲 后端
  12. 【UVA1599】Ideal Path理想路径--两种约束条件(!!双向bfs+非简单图的最短路+无向图邻接记录法)
  13. JAVA SE 7虚拟机规范
  14. Mac下载工具哪个好?迅雷 for Mac是个不错的选择!
  15. php时间格式转换成时间戳,php怎么把时间格式转换为时间戳?
  16. vue 富文本编辑器,插件
  17. C64x+ 与 C64x Cache 区别
  18. Deep Learning论文翻译(Nature Deep Review)
  19. 语句摘抄——第12周
  20. Win7 X64 SQL SERVER 2000企业管理器无法建立新表

热门文章

  1. javascript 图片上传并显示
  2. 使用Kali Linux系统生成木马病毒并实现远程控制计算机
  3. 《信息安全技术》 实验四 木马及远程控制技术
  4. java定义一个getsize方法_java.util.zip.ZipEntry.getSize()方法示例
  5. SmartUpload用法
  6. Slate轨道工具使用(二)—Odin支持
  7. 三维绘图plot3命令ezplot3命令三维网格命令mesh命令
  8. 如何进行MDM的产品测试
  9. caxa发生文件读写异常_文件和异常
  10. 麦肯锡卓越工作方法 读书体会