消息中间件的选择:RabbitMQ是一个明智的选择

在这里插入图片描述

💗wei_shuo的个人主页

💫wei_shuo的学习社区

🌐Hello World !


MQ(Message Queue)

MQ(消息队列)是一种用于在应用程序之间进行异步通信的技术;允许应用程序通过发送和接收消息来进行解耦和协同工作

消息生产者(Producer):负责创建和发送消息到消息队列中;它将消息发送到指定的队列或主题

消息队列(Message Queue):是消息的缓冲区,用于存储生产者发送的消息;消息队列可以采用不同的模式,如点对点(Point-to-Point)和发布/订阅(Publish/Subscribe)模式

消息消费者(Consumer):负责从消息队列中接收和处理消息;消费者可以订阅一个队列或主题,并从中接收消息

在这里插入图片描述

RabbitMQ

在这里插入图片描述

RabbitMQ是一个开源的消息队列系统,它实现了高级消息队列协议(AMQP)标准;RabbitMQ提供了可靠的消息传递机制,使应用程序能够在分布式系统中进行可靠的异步通信

SpringAMQP

在这里插入图片描述

Spring AMQP是一个基于Spring框架的开源项目,用于简化使用AMQP(高级消息队列协议)的应用程序的开发;它提供了与AMQP兼容的消息传递的抽象和封装,使开发人员能够更轻松地使用消息队列系统,如RabbitMQ

  • 用于异步处理入站消息的侦听器容器
  • 用于发送和接收消息的RabbitTemplate
  • RabbitAdmin用于自动声明队列,交换和绑定
  • 消息(Message):在RabbitMQ中,消息是信息的载体,可以是任何形式的数据。它通常包含一个消息体和一些可选的属性;消息可以由生产者发布到交换机,然后由交换机路由到一个或多个队列中
  • 交换机(Exchange):交换机是消息的分发中心;它接收生产者发布的消息,并根据预定义的路由规则将消息路由到一个或多个队列中;RabbitMQ提供了几种类型的交换机,包括直连交换机(direct)、主题交换机(topic)、扇形交换机(fanout)和标头交换机(headers),以满足不同的消息路由需求
  • 队列(Queue):队列是消息的缓冲区,用于存储交换机发送过来的消息。消费者可以从队列中订阅并获取消息进行处理;RabbitMQ支持多个消费者同时订阅同一个队列,采用竞争消费模式
  • 绑定(Binding):绑定是交换机和队列之间的关联关系。它定义了消息从交换机路由到哪些队列中;绑定通常包括一个交换机名称、一个队列名称和一个路由键(Routing Key);路由键在直连交换机和主题交换机中起到关键作用,用于匹配消息和队列
  • 生产者(Producer):生产者是消息的发送者,它将消息发布到RabbitMQ的交换机中;生产者可以选择指定消息的交换机、路由键和其他属性
  • 消费者(Consumer):消费者是消息的接收者,它从队列中订阅并获取消息进行处理;消费者可以选择指定要消费的队列,并可以设置消息的确认机制、并发控制
  • 虚拟主机(Virtual Host):虚拟主机提供了逻辑上的隔离,允许在同一个RabbitMQ服务器上创建多个独立的消息代理;每个虚拟主机都有自己的交换机、队列和权限控制
  • 持久化(Durability):RabbitMQ支持将交换机和队列设置为持久化,以确保在服务器重启或崩溃后仍然存在;持久化的消息也可以在重启后恢复
  • 消息确认(Message Acknowledgment):消费者可以使用消息确认机制来确保消息被成功处理;一旦消费者确认接收到消息并完成处理,RabbitMQ将从队列中删除该消息;如果消费者在处理消息时发生错误,消息可以重新投递或进入死信队列
  • 高可用性和可扩展性:RabbitMQ支持集群部署,通过在多个节点上复制队列和交换机来提供高可用性和可扩展性;集群中的节点可以相互同步消息和状态,以实现负载均衡和故障转移

🌼 结语:创作不易,如果觉得博主的文章赏心悦目,还请——点赞👍收藏⭐️评论📝


在这里插入图片描述

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

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

相关文章

css学习3(三种样式表与样式控制优先级)

1、外部样式表&#xff1a;当样式需要应用于很多页面时&#xff0c;外部样式表将是理想的选择。在使用外部样式表的情况下&#xff0c;你可以通过改变一个文件来改变整个站点的外观。每个页面使用 <link> 标签链接到样式表&#xff0c;也要放到<head>中。 2、外部…

上网课用什么耳机和麦克风,分享几款骨传导耳机上网课用

各位耳机狂热者&#xff0c;咱们都了解传统的蓝牙耳机相对于老式有线耳机来说确实方便得多。但是&#xff0c;也别忘了蓝牙耳机会导致耳道不断堵塞&#xff0c;引发细菌滋生等问题。好在近年来&#xff0c;骨传导耳机如火如荼地走红&#xff0c;解决了这些难题&#xff0c;简直…

飞天使-jenkins进行远程linux机器修改某个文件的思路

文章目录 jenkins配置的方式jenkins中执行shell的思路 jenkins配置的方式 jenkins中执行shell的思路 下面的脚本别照抄&#xff0c;只是一个思路 ipall"$ips"# 将文本参数按行输出为变量 while IFS read -r line; doecho "$line" if [[ ! -z $line ]] &…

ubuntu 22.04 LTS 在 llvm release/17.x 分支上编译 cookbook llvm example Chapter 02

不错的资料&#xff1a; LLVMClang编译器链接器--保值【进阶之路二】 - 掘金 —————————————————————————————————————— 下载 llvm-cookbook example: $ git clone https://github.com/elongbug/llvm-cookbook.git 也可以参照llvm-pr…

Vue实现动态遍历生成el-input

实现效果: el-input的label是measureName, el-input绑定的值是formDatat.measureCode 接口返回的数据格式如下 处理过的formData的格式如下

SpringBoot+微信小程序奶茶在线点单小程序系统 附带详细运行指导视频

文章目录 一、项目演示二、项目介绍三、运行截图四、主要代码 一、项目演示 项目演示地址&#xff1a; 视频地址 二、项目介绍 项目描述&#xff1a;这是一个基于SpringBoot微信小程序框架开发的奶茶在线点单小程序系统。首先&#xff0c;这是一个前后端分离的项目&#xff…

机器学习深度学习——NLP实战(情感分析模型——textCNN实现)

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位即将上大四&#xff0c;正专攻机器学习的保研er &#x1f30c;上期文章&#xff1a;机器学习&&深度学习——NLP实战&#xff08;情感分析模型——RNN实现&#xff09; &#x1f4da;订阅专栏&#xff1a;机器学习…

SpringBoot复习:(56)使用@Transactional注解标记的方法的执行流程

首先&#xff0c;如果在某个类或某个方法被标记为Transactional时&#xff0c;Spring boot底层会在创建这个bean时生成代理对象&#xff08;默认使用cglib) 示例&#xff1a; 当调用studentService的addStudent方法时&#xff0c;会直接跳到CglibAopProxy类去执行intercept方…

jenkins 安装nodejs 14

参考&#xff1a; jenkins容器安装nodejs-前端问答-PHP中文网

VR漫游:720度实景参观,打造魅力生态小区

随着城市的不断发展&#xff0c;小区的建设越发具有生态化、绿色化的特点&#xff0c;人们也会偏向选择更加适合居住的小区。为了让更多的用户体验小区的舒适性&#xff0c;不少地产开发商准备引入VR漫游技术。 VR漫游不仅能够真实地展示现场环境&#xff0c;还可以改变传统网络…

【大虾送书第六期】搞懂大模型的智能基因,RLHF系统设计关键问答

目录 ✨1、RLHF是什么&#xff1f; ✨2、RLHF适用于哪些任务&#xff1f; ✨3、RLHF和其他构建奖励模型的方法相比有何优劣&#xff1f; ✨4、什么样的人类反馈才是好的反馈 ✨5、RLHF算法有哪些类别&#xff0c;各有什么优缺点&#xff1f; ✨6、RLHF采用人类反馈会带来哪些局…

Android13新特性之通知权限提升

Android13新特性之通知权限提升 随着移动通信的高速发展&#xff0c;保障通信的安全性变得尤为重要。在Android 13的最新版本中&#xff0c;通知权限的管理得到了进一步加强。为了实现安全的通信和确保用户的隐私&#xff0c;必须正确申请通知权限。本文将详细探讨如何在Andro…

人类反馈强化学习RLHF;微软应用商店推出AI摘要功能

&#x1f989; AI新闻 &#x1f680; 微软应用商店推出AI摘要功能&#xff0c;快速总结用户对App的评价 摘要&#xff1a;微软应用商店正式推出了AI摘要功能&#xff0c;该功能能够将数千条在线评论总结成一段精练的文字&#xff0c;为用户选择和下载新应用和游戏提供参考。该…

excel常见的数学函数篇2

一、数学函数 1、ABS(number)&#xff1a;返回数字的绝对值 语法&#xff1a;ABS(数字)&#xff1b;返回数字的绝对值&#xff1b;若引用单元格&#xff0c;把数字换为单元格地址即可 2、INT(number)&#xff1a;向小取整 语法&#xff1a;INT(数字)&#xff1b;若引用单元格…

神经网络基础-神经网络补充概念-14-逻辑回归中损失函数的解释

概念 逻辑回归损失函数是用来衡量逻辑回归模型预测与实际观测之间差异的函数。它的目标是找到一组模型参数&#xff0c;使得预测结果尽可能接近实际观测。 理解 在逻辑回归中&#xff0c;常用的损失函数是对数似然损失&#xff08;Log-Likelihood Loss&#xff09;&#xff…

ES:一次分片设计问题导致的故障

### 现象&#xff1a; 1. 单节点CPU持续高 2.写入骤降 3.线程池队列积压&#xff0c;但没有reject 4.使用方没有记录日志 ### 排查 1.ES监控 只能看到相应的结果指标&#xff0c;无法反应出原因。 2.ES日志&#xff1a;大量日志打印相关异常&#xff08;routate等调用栈&a…

RabbitMq:Topic exchange(主题交换机)的理解和使用

RabbitMq:Topic exchange(主题交换机)的理解和使用 在RabbitMq中&#xff0c;生产者的消息都是通过交换机来接收&#xff0c;然后再从交换机分发到不同的队列中去&#xff0c;在分发的过程中交换机类型会影响分发的逻辑&#xff0c;下面主要讲解一下主题交换机。 ​ 主题交换…

渗透测试之逻辑漏洞

文章目录 一、支付漏洞1.修改附属值2.多重替换支付3.重复支付4.最小额支付5.最大值支付6.越权支付7.无限制试用8.多线程并发9.支付漏洞思路 二、密码找回漏洞1.本地验证绕过2.利用session重新绑定客户3.去掉验证参数绕过4.总结 三、短信验证码绕过1.短信验证码生命期限内可暴力…

【Java基础教程】(二十二)Java新特性篇 · 第二讲:foreach循环——概念及优缺点、使用方式及应用场景~

Java基础教程之新特性 foreach循环 1️⃣ 概念2️⃣ 优势和缺点3️⃣ 使用及应用场景&#x1f33e; 总结 1️⃣ 概念 Java的 foreach 特性最初出现在JDK 1.5中&#xff0c;也被称为“增强的for循环”。它的设计目的是提供一种简洁、易读的语法&#xff0c;用于遍历集合或数组…

一个WPF开发的、界面简洁漂亮的音频播放器

项目简介 这是一个基于C# WPF开发的&#xff0c;界面外观简洁大方&#xff0c;操作体验良好的音频播放器。 支持各种音频格式&#xff0c;包括&#xff1a;MP4、WMA、OGG、FLAC、M4A、AAC、WAV、APE 和 OPUS&#xff1b;支持标记、实时显示歌词等功能&#xff1b;支持换肤、…