消息队列MQ是分布式中重要的组件
目前常见的消息队列有三种:ActiveMQ,RabbitMQ,Kafka

今天我想来梳理一下MQ消息队列的具体常见用法:
1.异步处理
用户注册之后,需要发短信和加积分,注册信息写入数据库后,通过异步消息,让短信服务和积分服务去做它们的事,就提升了代码的质量

2.流量削峰
最常见的就说秒杀场景,秒杀活动会因为流量过大导致流量暴增,甚至应用会挂掉,为了解决这个问题,一般需要在应用前端加入消息队列,从而控制活动的人数,假如消息队列长度超过所设定的,就直接抛弃用户的请求,或者让它跳转到错误的页面,秒杀业务根据消息队列中的信息再作处理

3.日志处理
最典型的就是kafka,kafka的消息队列一开始设计就是为了日志处理,大数据中用的特别多,通过日志采集定时写入kafka队列,然后kafka队列对日志消息进行储存转发

4.应用解耦
比如用户下单后,订单服务需要通知商品服务,如果使用消息队列,不直接调用商品服务的接口,订单服务直接把信息写入消息队列,返回下单成功,商品服务来订阅消息队列,采用拉或者推的方式获得下单信息,这样就可以实现订单服务和商品服务之间的解耦

MQ消息队列的常见用法相关推荐

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

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

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

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

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

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

  4. 消息队列及常见消息中间件

    可以直接去看原文:浅谈消息队列及常见的消息中间件 简介 消息队列 已经逐渐成为企业应用系统 内部通信 的核心手段.它具有 低耦合.可靠投递.广播.流量控制.最终一致性 等一系列功能. 当前使用较多的 ...

  5. MQ消息队列中间件:

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

  6. 浅谈消息队列及常见的分布式消息队列中间件

    背景 分布式消息队列中间件是是大型分布式系统不可缺少的中间件,通过消息队列,应用程序可以在不知道彼此位置的情况下独立处理消息,或者在处理消息前不需要等待接收此消息.所以消息队列主要解决应用耦合.异步消 ...

  7. 消息队列及常见消息队列介绍

    转载 消息队列及常见消息队列介绍 一.消息队列(MQ)概述 消息队列(Message Queue),是分布式系统中重要的组件,其通用的使用场景可以简单地描述为: 当不需要立即获得结果,但是并发量又需要 ...

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

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

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

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

最新文章

  1. 保存ip地址和计算机名称,批量设置IP地址和计算机名
  2. Linux上怎么查询sql,Linux上的文本文件的SQL查询引擎?
  3. FTP软件VSFTP配置文件详解
  4. php mysql 查询每隔一段时间插入的数据_SQL查询某个时间段共多少条数据
  5. LLBL Gen Pro 设计器使用指南
  6. 合作伙伴:VMware收购Wavefront提供强大的多云应用管理渠道
  7. 视频质量评估的新方式:VMAF百分位数
  8. was中java目录_was8.5选择安装选项,安装应用程序的目录填写自定义目录,应用部署成功后访问不了页面?...
  9. 移动石头游戏中的博弈问题(洛谷P4136题题解,Java语言描述)
  10. linux mysql更改用户权限
  11. 2.tcpdump(2)
  12. php搜索区分大小写,在php中搜索不区分大小写的xpath
  13. Tecplot 安装记录
  14. 支票数字大写转换器_信用卡支票数字生成器Java程序
  15. getch方法_c语言中中getch()函数为什么不起作用?
  16. 【项目复习篇】EGO电商项目技术总结与学习笔记
  17. ul阻燃标准有几个等级_塑料制品中的UL 阻燃等级防火等级划分标准
  18. 计算机网络名怎么设置,网络ssid怎么设置
  19. 南京大学计算机学类,并未开放计算机专业:南京大学2020年强基计划政策分析...
  20. windows四种编码方式

热门文章

  1. 外架小横杆外露长度规范要求_外脚手架小横杆悬空长度要求如何?(离墙面距离)...
  2. Windows Docker Desktop容器自动化管理
  3. 【android】configuration
  4. B站季报图解:营收58亿净亏收窄36% 日活突破9000万
  5. 深圳职业技术学院计算机应用技术代码,深圳职业技术学院2020年招生代码
  6. 使用css的box-shadow画一个月亮形状的图形
  7. golang 图片验证码的生成、验证
  8. web大文件上传断点续传源码
  9. python 读取yaml文件
  10. 【TS】函数重载--可选参数--默认参数