写在前边:本文学习尚硅谷的springboot高级整理笔记。

消息队列是什么,有什么好处?

我们可以把消息队列比作是一个存放消息的容器,当我们需要使用消息的时候可以取出消息供自己使用。消息队列是分布式系统中重要的组件,使用消息队列主要是为了通过异步处理提高系统性能和削峰、降低系统耦合性。目前使用较多的消息队ActiveMQ,RabbitMQ,Kafka,RocketMQ,我们后面会一一对比这些消息队列。

第一个场景:异步处理

异步处理的好处是:缩短了反馈的时间。

第二个场景:应用解耦

关于解耦我就不赘述重要性了。

第三个场景:流量削峰

比方说一个秒杀需求,一用有10000件商品,如果每笔秒杀订单,都去访问一次数据库,查一查库存,那得花费多长时间啊。

我们可以这样做,用一个消息队列,定制它的长度为10000,10000以内可以存到消息队列,一万10000以后不再近消息队列。

10000以内立马反馈一个秒杀成功。之后再去做减库存等一系列操作。

消息处理的几种方式
 点对点式:
 生产者生产消息,存到消息队列中去,消费者去消息队列里边消费。消费一条消息,就从消息队列移除一条消息,从而保证不重复消费信息。

发布订阅式:
  发送者发送一个消息主题,消费者以订阅的形式同时收到消息。

两种规范

两种规范的对比:

springboot对消息队列的支持

RabbitMQ小入门

消息队列里边的交换器就像我们网络中的路由器一样。根据消息的路由键来确定去哪个消息队列。

我自己制作了一张图

老师的一张图

rabbitMQ的运行机制

rabbitMQ的交换器exchange类型

————————————————
版权声明:本文为CSDN博主「水的精神」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/star1210644725/article/details/90902365

springboot高级——消息队列相关相关推荐

  1. SpringBoot高级-消息-JMSAMQP简介

    我们来学习SpringBoot和消息,SpringBoot与消息队列的整合使用,包括消息队列的两个常见规范,JMS Java消息服务,和AMQP,高级消息队列协议,而且我们还会整合RabbitMQ来使 ...

  2. RabbitMq--AMQP高级消息队列协议--简单了解

    2019独角兽企业重金招聘Python工程师标准>>> 一.安装 Rabbitmq 是用 erlang 语言写的,所以使用还要安装 Erlang. 安装 erlang 还要安装 py ...

  3. 浅谈RabbitMQ的基石—高级消息队列协议(AMQP)

    点击上方蓝色字体,选择"设为星标" 回复"资源"获取更多资源 大数据技术与架构 点击右侧关注,大数据开发领域最强公众号! 大数据真好玩 点击右侧关注,大数据真好 ...

  4. 组件分享之后端组件——基于Golang实现的高级消息队列协议 (AMQP) 的消息代理garagemq...

    组件分享之后端组件--基于Golang实现的高级消息队列协议 (AMQP) 的消息代理garagemq 背景 近期正在探索前端.后端.系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成 ...

  5. 深入剖析 RabbitMQ —— Spring 框架下实现 AMQP 高级消息队列协议

    前言 消息队列在现今数据量超大,并发量超高的系统中是十分常用的.本文将会对现时最常用到的几款消息队列框架 ActiveMQ.RabbitMQ.Kafka 进行分析对比. 详细介绍 RabbitMQ 在 ...

  6. SpringBoot高级消息-RabbitMQ运行机制

    RabbitMQ的核心运行机制,首先在我们高级消息队列的路由机制,这个和JMS是有大差别的,他给我们增加了Exchange和Bindding,Exchange就是我们介绍的交换器,和Binding绑定 ...

  7. ORACLE高级消息队列AQ

    业务场景:Oracle的A库中的一张表里面实时的数据插入需要调用另外一个服务去拿这个数据并进行系列计算 目前方案是:定时去取数据(缺点:实时性不高) 理想方案:被动触发另外一个服务去取(Oracle ...

  8. SpringBoot高级-消息-@RabbitListener@EnableRabbit

    在实际开发中我们需要监听场景,比如我们之前举的例子,两个系统,订单系统,和我们库存系统,他们交互都是通过交互通过消息队列,某一个人下了单以后,将订单信息放到消息队列中,库存系统要实时监听队列里的内容, ...

  9. SpringBoot高级-消息-RabbitTemplate发送接受消息序列化机制

    引入了spring-boot-starter-amqp模块,他引入了spring-messaging模块,包括引入了spring-rabbit模块,怎么配置使用呢,<dependency> ...

最新文章

  1. Verilog初级教程(20)Verilog中的`ifdef 条件编译语句
  2. CSS3-transition,过渡实例
  3. mysql安全性实验心得_mysql安全小结
  4. SKYLINE UVALive - 4108
  5. STM32F103 TIM4定时器
  6. 马来西亚国家银行暂无发行央行数字货币计划
  7. 512 排序预演_最小数置前
  8. 蓝桥杯(李白喝酒Java)
  9. IDEA 使用SequenceDiagram插件绘制时序图
  10. Touch panel DTS 分析(MSM8994平台,Atmel 芯片)
  11. 为什么raw图是绿色的?
  12. Cache架构以及X86ARM @Linux平台cache eviction功能测试
  13. Borderlands 3 for Mac 无主之地3
  14. Hyperlynx学习心得
  15. C语言中scanf与分隔符(空格回车Tab)
  16. 什么是对称正定矩阵?
  17. 大数据之Linux命令
  18. 中班音乐活动 机器人_中班下学期音乐《机器人》活动反思
  19. 设计模式——黑板模式
  20. 新高考选科 计算机科学,上海交通大学新高考选科指南

热门文章

  1. 音视频编解码的国际标准
  2. 软定时器的启动与停止
  3. java sofa rpc_【剖析 | SOFARPC 框架】
  4. 包python_Python 包:
  5. 手机黑圆点怎么打_黑鲨游戏手机3S手机配置怎么样,是否值得购买?
  6. 修改PostgreSQL数据库默认用户postgres的密码
  7. python random
  8. oracle sql练习_数据分析之学习SQL
  9. Scala操作外部数据
  10. pytorch离线安装(探索尝试版本)