🌈hello,你好鸭,我是Ethan,一名不断学习的码农,很高兴你能来阅读。
✔️目前博客主要更新Java系列、项目案例、计算机必学四件套等。
🏃人生之义,在于追求,不在成败,勤通大道。加油呀!
🔥个人主页:Ethan Yankang
🔥专栏:面试八股文||Java项目
🔥温馨提示:划到文末发现专栏彩蛋
🔥本篇概览:MQ(消息队列)服务异步通信详细介绍、rabbitMq快速入门、springAMQP快速入门、发布订阅模型、FanoutExchange、DirectExchange、TopicExchange三类交换机详细使用。
一、初始MQ:
1.同步通信
也叫同步调用,同步通信一般用的多
1.1同步调用的优点
时效性强,可以立即得到结果
1.2同步调用的缺点
耦合度高、性能下降、资源浪费、级联失败
2.异步通信
2.1异步调用的优点
服务解耦、性能提升;
吞吐量提高、服务没有强依赖;
不会有级联失败的现象;
流量削峰
2.2异步调用的缺点
依赖于Broker的可靠性、安全性、吞吐能力;
架构复杂了,业务没有明显的流程线,不好追踪管理
3.MQ常见技术介绍
MQ(Message Queue),中文是消息队列,字面来看就是存放消息的队列。也就是事件驱动架构中的Broker(“经纪人”“中间人”“代理商”)。
二、RabbitMQ快速入门
1.rabbitMq介绍与安装
1.1rabbitMq的结构和概念
1.2rabbitMq的几个常见概念
2.消息模型介绍
2.1五种消息模型介绍
3.简单消息队列
3.1完成官方示例
3.2发送流程
三、spring AMQP简化操作
1.基本介绍
1.1引出背景
上一章节实现了他的hello world
也就是简单队列模型
当然我们发现官方提供的a篇
写起来非常的麻烦
甚至于啊我都懒得写
直接给大家讲了一遍就算了
那么因此我们接下来呢
第三章就是要学习一种新的东西叫spring AMQP,它可以大大的简化我们的这个消息
1.2AMQP
AMQP——Advanced Message Queuing Protocol,是用于在应用程序或之间传递业务消息的开放标准。该协议与语言和平台无关,更符合微服务中独立性的要求。
Spring AMQP——是基于AMQP协议定义的一套API规范,提供了模板来发送和接收消息。包含两部分,其中spring-amqp是基础抽象,spring-rabbit是底层的默认实现。
1.3SpringAMQP
2.入门案例
2.1消息发送
2.2消息接收
3.Work Queue 工作队列
3.1案例—模拟WorkQueue,实现一个队列绑定多个消费者
3.2消息预取限制
默认是消息平均分配,通过限制可以达到能者多劳的现象 。
3.3总结
4.发布订阅模型介绍
4.1加入交换机
FanoutExchange、DirectExchange、TopicExchange三类交换机
5.FanoutExchange
5.1案例,利用SpringAMQP演示FanoutExchange的使用
5.1.1步骤1
在consumer服务声明Exchange、Queue、Binding
5.1.2步骤2
在consumer服务声明两个消费者
5.1.3步骤3
在publisher服务发送消息到FanoutExchange
5.2总结
6.DirectExchange
7.TopicExchange
8.消息转换器
💖💖💖💖💖💖💖💖💖💖💖💖💖💖💖💖💖💖
热门专栏推荐
🌈🌈计算机科学入门系列 关注走一波💕💕
🌈🌈CSAPP深入理解计算机原理 关注走一波💕💕
🌈🌈微服务项目之黑马头条 关注走一波💕💕
🌈🌈redis深度项目之黑马点评 关注走一波💕💕
🌈🌈Java面试八股文系列专栏 关注走一波💕💕
🌈🌈算法leetcode+剑指offer 关注走一波💕💕
总栏
🌈🌈JAVA后端技术栈 关注走一波💕💕
🌈🌈JAVA面试八股文 关注走一波💕💕
🌈🌈JAVA项目(含源码深度剖析) 关注走一波💕💕
🌈🌈计算机四件套 关注走一波💕💕
🌈🌈算法 关注走一波💕💕
🌈🌈必知必会工具集 关注走一波💕💕
🌈🌈书籍网课笔记汇总 关注走一波💕💕
🌈🌈考试复习资料 关注走一波💕💕
🌈🌈C/C++技术栈 关注走一波💕💕
🌈🌈GO技术栈 关注走一波💕💕
分栏
🌈🌈JAVA后端技术栈
🌈🌈spring 关注走一波💕💕
🌈🌈redis 关注走一波💕💕
🌈🌈MySQL 关注走一波💕💕
🌈🌈mybatis 关注走一波💕💕
🌈🌈MQ 关注走一波💕💕
🌈🌈微服务 关注走一波💕💕
🌈🌈设计模式 关注走一波💕💕
🌈🌈分布式锁 关注走一波💕💕
🌈🌈JAVA八股文JAVA面试八股文(redis、MySQL、框架、微服务、MQ、JVM、设计模式、并发编程、JAVA集合、常见技术场景) 关注走一波💕💕
🌈🌈JAVA项目(含源码深度剖析)
🌈🌈黑马头条(微服务) 关注走一波💕💕
🌈🌈黑马点评(redis) 关注走一波💕💕
🌈🌈计算机四件套
🌈🌈计算机基础 关注走一波💕💕
🌈🌈计算机基础 关注走一波💕💕
🌈🌈计算机网络 关注走一波💕💕
🌈🌈数据结构与算法 关注走一波💕💕
🌈🌈算法
🌈🌈leetcode 关注走一波💕💕
🌈🌈剑指offer 关注走一波💕💕
🌈🌈必知必会工具集 关注走一波💕💕
🌈🌈书籍网课笔记汇总
🌈🌈CSAPP笔记 关注走一波💕💕
🌈🌈计算机科学速成课 关注走一波💕💕
🌈🌈CS自学指南 关注走一波💕💕
🌈🌈读书笔记与每日记录 关注走一波💕💕
🌈🌈考试复习资料 关注走一波💕💕
🌈🌈C/C++技术栈 关注走一波💕💕
🌈🌈GO技术栈 关注走一波💕💕
📣非常感谢你阅读到这里,如果这篇文章对你有帮助,希望能留下你的点赞👍 关注❤收藏✅ 评论💬,大佬三连必回哦!thanks!!!
📚愿大家都能学有所得,功不唐捐!