微服务(基础篇-007-RabbitMQ)

news2024/11/28 16:45:12

目录

初识MQ(1)

同步通讯(1.1)

异步通讯(1.2)

MQ常见框架(1.3)

RabbitMQ快速入门(2)

RabbitMQ概述和安装(2.1)

常见消息模型(2.2)

快速入门(2.3)

HelloWorld(2.3.1)

SpringAMQP(3)

Basic Queue 简单队列模型(3.1)

Work Queue 工作队列模型(3.2)

消息预取限制(3.2.1)

发布订阅模型(3.3)

发布、订阅模型-Fanout Exchange(3.3.1)

发布、订阅模型-Direct Exchange(3.3.2)

发布、订阅模型-Topic Exchange(3.3.3)

消息转换器(3.7)


初识MQ(1)

RabbitMQ是一个开源的消息代理软件,它在分布式系统中的应用程序中扮演着重要的角色。它基于高级消息队列协议(AMQP)实现,用于在应用程序之间进行异步消息通信。RabbitMQ的主要作用体现在以下几个方面:

  1. 异步通信:RabbitMQ允许应用程序以异步的方式发送和接收消息,这极大地提高了系统的响应能力和吞吐量。例如,在用户注册场景中,传统的串行方式需要在完成所有任务后才能返回给客户端,而RabbitMQ可以实现注册信息写入数据库、发送注册邮件和发送注册短信的并行处理,从而提高了用户体验。
  2. 消息路由与转发:RabbitMQ支持多种消息传送模式,包括点对点、发布/订阅和工作队列等,使得消息能够按照预定的规则进行路由和转发,满足了复杂应用场景的需求。
  3. 消息持久化与可靠性:RabbitMQ提供了消息持久化的功能,即使在系统故障的情况下也能保证消息不会丢失。此外,它还支持消息确认机制,确保消息被正确接收和处理,从而提高了消息传递的可靠性。
  4. 负载均衡与高可用性:RabbitMQ可以构建集群,实现负载均衡和高可用性。当某个节点出现故障时,其他节点可以接管其任务,保证系统的稳定运行。
  5. 广泛的应用场景:RabbitMQ可以应用于各种场景,如分布式应用程序、微服务架构、云计算环境、物联网设备、大数据分析以及金融交易等。

同步通讯(1.1)

异步通讯(1.2)

MQ常见框架(1.3)

RabbitMQ快速入门(2)

官方网址:RabbitMQ Documentation | RabbitMQicon-default.png?t=N7T8https://www.rabbitmq.com/docs

RabbitMQ概述和安装(2.1)

安装文档:微服务(基础篇-007-RabbitMQ部署指南)-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/zip7986/article/details/137171056?spm=1001.2014.3001.5501

常见消息模型(2.2)

官网地址:

RabbitMQ Tutorials | RabbitMQicon-default.png?t=N7T8https://www.rabbitmq.com/tutorials

快速入门(2.3)

HelloWorld(2.3.1)

SpringAMQP(3)

官方网址:spring.io/projects/spring-amqp/icon-default.png?t=N7T8https://spring.io/projects/spring-amqp/

Basic Queue 简单队列模型(3.1)

Work Queue 工作队列模型(3.2)

 

消息预取限制(3.2.1)

发布订阅模型(3.3)

 

发布、订阅模型-Fanout Exchange(3.3.1)

 

发布、订阅模型-Direct Exchange(3.3.2)

 

发布、订阅模型-Topic Exchange(3.3.3)

消息转换器(3.7)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1556471.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

精品丨PowerBI负载测试和容量规划

当选择Power BI作为业务报表平台时,如何判断许可证的选择是否符合业务需求,价格占了主导因素。 Power BI的定价是基于SKU和服务器内核决定的,但是很多IT的负责人都不确定自己公司业务具体需要多少。 不幸的是,Power BI的容量和预期…

短剧App开发:打造移动端的精彩剧情盛宴

在快节奏的生活中,人们对于娱乐内容的需求日益旺盛,短剧作为一种新兴的影视形式,以其紧凑的剧情、生动的表演和精彩的情节,受到了广大观众的喜爱。为了满足广大用户对短剧内容的渴望,我们倾力打造了一款全新的短剧App&…

02_在VM虚拟机创建Win7系统

一、镜像 Windows 7 Ultimate with Service Pack 1 (x64) - DVD (Chinese-Simplified) 二、新建虚拟机 选择下载的win7系统镜像,.ISO结尾的文件。 选择系统版本 选择名称和位置

概率论经典题目-二维随机变量及分布--求离散型的联合分布律和边缘分布律问题

题目:一整数N等可能地在1,2,3,…,10十个值中取一个值设DD(N)是能整除N的正整数的个数,FF(N)是能整除N的素数的个数(注意1不是素数).试写出D和F的联合分布律,并求边缘分布律? 解答: 1)要确定整数 N 能够被整除的正整数个数 D 和素…

线上废品回收小程序开发,线上回收成为大众“新宠”

随着全球回收意识的提高,废品回收已经成为了一个热门话题,在可持续发展下,回收市场领域有着巨大的发展前景。 如今,回收市场也进入到了互联网潮流中,互联网和数字化技术的发展对回收行业的发展起到了很大推动作用。回…

【Go】三、Go指针

文章目录 1、指针2、说明 1、指针 &符号变量 就可以获取这个变量内存的地址*int 是一个指针类型 (可以理解为 指向int类型的指针) package main import("fmt" ) func main(){var age int 18//&符号变量 就可以获取这个变量内存的地…

聚观早报 | 小米SU7正式发布;xAI推出Grok-1.5

聚观早报每日整理最值得关注的行业重点事件,帮助大家及时了解最新行业动态,每日读报,就读聚观365资讯简报。 整理丨Cutie 3月30日消息 小米SU7正式发布 xAI推出Grok-1.5 红魔9 Pro新品亮相 长城汽车2023年营收 快狗打车2023年度业绩 小…

UWB辅助RTK如何应对极端环境

1.UWB定位 - UWB(Ultra-Wideband)是一种无线通信技术,其特点是具有较宽的频带,可以提供0.1-0.5m高精度的距离测量。 - UWB定位需要四台基站(每台基站视距间隔50-100米)呈矩形安装部署,以实现…

springboot婚庆系统

摘 要 随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势;对于婚庆系统当然也不能排除在外,随着网络技术的不断成熟,带动了婚庆系统,它彻底改变了过去传统的管理方式…

vue3+vite 模板vue3-element-admin框架如何关闭当前页面跳转 tabs

使用模版: 有来开源组织 / vue3-element-admin 需要关闭的.vue 页面增加以下方法 //setup 里import {LocationQuery, useRoute, useRouter} from "vue-router"; const router useRouter(); function close() {console.log(|--router.currentRoute.value, router.cur…

五、postman基础使用案例

postman基础使用 相关案例【传递查询参数】【提交表单数据】【提交JSON数据】 注:postman⼀款⽀持调试和测试的⼯具,开发、测试⼯程师都可以使⽤。方法一般统一为:方法→请求头→请求体→断言 相关案例 【传递查询参数】 访问TPshop搜索商品的…

ElasticSearch、java的四大内置函数式接口、Stream流、parallelStream背后的技术、Optional类

第四周笔记 一、ElasticSearch 1.安装 apt-get install lrzsz adduser -m es 创建用户组: useradd *-m* xiaoming(用户名) *PS:追加参数-m* passwd xiaoming(用户名) passwd xiaoming 输入新的 UNIX 密码: 重新输入新的 UNIX 密码&…

基于springboot+vue实现的养老服务管理系统

作者主页:Java码库 主营内容:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。 收藏点赞不迷路 关注作者有好处 文末获取源码 技术选型 【后端】:Java 【框架】:spring…

【考研数学】《660题》 和《1800 题》完美搭配方法

别等二战才搞懂! 学长我23年二战143,逆袭上岸211! 但是我一战数学83,总分没过线,一战就用的1800660,当时刷1800的时候整个人都麻了。二战通过调整刷题方法,才顺畅的把基础打牢。⚠️ 660建议全…

使用uni-app开发微信小程序并实现页面间的跳转

一、下载需要的开发工具 HBuilderX 微信开发者工具 HBuilderX HBuilderX-高效极客技巧 (dcloud.io) 微信开发者工具 下载 / 开发版更新日志 (qq.com) 二、新建项目 通过vue-cli命令行创建项目 参考: uni-app官网 (dcloud.net.cn) 2.1全局安装 vue-cli npm i…

HarmonyOS实战开发-实现Ability内页面间的跳转和数据传递。

介绍 本篇Codelab基于Stage模型下的Ability开发,实现Ability内页面间的跳转和数据传递。 最终效果图如下: 相关概念 页面路由:提供通过不同的url访问不同的页面,包括跳转到应用内的指定页面、用应用内的某个页面替换当前页面、…

【AI模型-机器学习工具部署】远程服务器配置Jupyter notebook或jupyter lab服务

随着AI人工智能的崛起,机器学习、深度学习、模型训练等技术也慢慢泛化,java开发有idea,web开发有vscode,那么AI开发神器肯定离不开jupyter lab(基础版jupyter notebook) Jupyter notebook部署 1. 安装jupy…

FPGA----ZCU106的petalinux 2019.1使用USB传输数据

1、实际项目中需要用到开发板的串口进行数据交互,之前讲的几节只是启动了网口(如下链接)。因此,本次给大家带来的官方自带串口例程的使用方法,本文的vivado工程和下述连接一样,PL端什么配置都没有。 FPGA-…

07-工作流设计:如何设计合理的多人开发模式?

一个企业级项目是由多人合作完成的,不同开发者在本地开发完代码之后,可能提交到同一个代码仓库,同一个开发者也可能同时开发几个功能特性。这种多人合作开发、多功能并行开发的特性如果处理不好,就会带来诸如丢失代码、合错代码、…

ttkbootstrap界面美化系列之Notebook(四)

在简单的界面设计中,Notebook也是常用的组件之一,Notebook组件的引入可以根据标签来切换不同的界面。使得界面更有层次感,不必都挤在一个界面上。在tkinter中就有Notebook组件,在ttkbootstrap中,同样也对Notebook进行了…