简介

消息队列 MQ 既可为分布式应用系统提供异步解耦和削峰填谷的能力,同时也具备互联网应用所需的海量消息堆积、高吞吐、可靠重试等特性。

应用场景

  • 削峰填谷:诸如秒杀、抢红包、企业开门红等大型活动时皆会带来较高的流量脉冲,或因没做相应的保护而导致系统超负荷甚至崩溃,或因限制太过导致请求大量失败而影响用户体验,消息队列 MQ 可提供削峰填谷的服务来解决该问题。
  • 异步解耦:交易系统作为淘宝/天猫主站最核心的系统,每笔交易订单数据的产生会引起几百个下游业务系统的关注,包括物流、购物车、积分、流计算分析等等,整体业务系统庞大而且复杂,消息队列 MQ 可实现异步通信和应用解耦,确保主站业务的连续性。
  • 顺序收发:细数日常中需要保证顺序的应用场景非常多,比如证券交易过程时间优先原则,交易系统中的订单创建、支付、退款等流程,航班中的旅客登机消息处理等等。与先进先出(First In First Out,缩写 FIFO)原理类似,消息队列 MQ 提供的顺序消息即保证消息 FIFO。
  • 分布式事务一致性:交易系统、支付红包等场景需要确保数据的最终一致性,大量引入消息队列 MQ 的分布式事务,既可以实现系统之间的解耦,又可以保证最终的数据一致性。
  • 大数据分析:数据在“流动”中产生价值,传统数据分析大多是基于批量计算模型,而无法做到实时的数据分析,利用阿里云消息队列 MQ 与流式计算引擎相结合,可以很方便的实现将业务数据进行实时分析。
    分布式缓存同步:天猫双 11 大促,各个分会场琳琅满目的商品需要实时感知价格变化,大量并发访问数据库导致会场页面响应时间长,集中式缓存因为带宽瓶颈限制商品变更的访问流量,通过消息队列 MQ 构建分布式缓存,实时通知商品数据的变化。

    解耦

  • MQ未参与系统,系统耦合

  • MQ未参与系统解耦

**如感觉文章对你有所帮助,可以关注微信公众号【五彩的颜色】鼓励一下**
![](https://img2018.cnblogs.com/blog/1821244/201911/1821244-20191115113927655-701713578.jpg)

最新文章

  1. MVC发布后项目存在于根目录中的子目录中时的css与js、图片路径问题
  2. hiho一下十六周 RMQ-ST算法
  3. 黄永成-thinkphp讲解-个人博客讲解25集
  4. jquery-validation 使用
  5. 单源最短路径——Floyd算法
  6. 用 Javascript 获取页面大小、窗口大小和滚动条位置
  7. HttpURLConnection&HttpClient网络通信
  8. Notification用法
  9. 下载Google浏览器(Google Chrome)离线安装包方法
  10. 【ecos学习1】wmware运行redboot[方法一]--脚本实现配置
  11. 我也谈javascript闭包的原理理解
  12. Django—入门
  13. JAVA 学习日记
  14. devm_kzalloc【转】
  15. 修改/dev/shm的大小
  16. 前端常见算法面试题之 - 二维数组中的查找[JavaScript解法]
  17. MySQL Crash Course #07# Chapter 15. 关系数据库. INNER JOIN. VS. nested subquery
  18. 在fedora 18中将普通用户设置为sudo权限
  19. tp价格除以100
  20. Appium+python自动化9-SDK Manager

热门文章

  1. The Troublesome Frog
  2. SQL SERVER数据库基本语法汇总,仅代表个人整理,仅供参考
  3. web前端Vue+Django rest framework 框架 生鲜电商项目实战视频教程 ☝☝☝
  4. [NOIp2017] luogu P3952 时间复杂度
  5. [Luogu2879][USACO07JAN]区间统计Tallest Cow
  6. ES6入门之变量的解构赋值(二)
  7. php中转菜刀脚本过狗免杀
  8. Leetcode(8)字符串转换整数
  9. mac本地安装单机hadoop--学习笔记
  10. 设计模式(五)Singleton模式