【RabbitMQ基础】-RabbitMQ:初识MQ[1]

简介

RabbitMQ (高性能的异步通讯组件)

RabbitMQ是一个开源的消息队列中间件,它实现了高级消息队列协议(AMQP)标准。它是一种可靠、可扩展、灵活和可插拔的解决方案,用于处理异步消息传递和事件驱动系统。RabbitMQ提供了可靠的消息传递机制,并支持多种消息传递模式,如点对点、发布/订阅和请求/响应。它可以用于构建分布式系统、微服务架构、大规模数据处理等场景。RabbitMQ提供了丰富的功能,如消息持久化、消息路由、消息优先级、消息延迟等,可以满足各种复杂的消息传递需求。它还提供了多种语言的客户端库,如Java、Python、Ruby等,方便开发者使用。总之,RabbitMQ是一个强大而灵活的消息队列中间件,被广泛应用于各种企业级系统中。

一、同步调用

我们以商城的余额支付为例:

由于下边的操作要依赖于上边的操作,只有当上边的操作完成才能一步步的接下来完成往后的每一步,这将导致性能下降,拓展性差。

同步调用的优势是:时效性强,等待到结果后才返回

二、异步调用

异步调用方式其实就是基于消息通知的方式,一般包含三个角色:

消息发送者:投递消息的人,就是原来的调用方

消息代理:管理、暂存、转发消息,你可以把它理解为微信服务器

消息接受者:接收和处理消息的人,就是原来的服务提供方

支付服务不再同步调用业务关联低的服务,而是发送消息通知到Broker。

具备下列优势:

  • 解除耦合,拓展性强
  • 无需等待,性能好
  • 故障隔离
  • 缓存消息,流量削峰填谷

异步调用的问题:

  • 不能立即得到调用结果,时效性差
  • 不确定下游业务执行是否成功
  • 业务安全依赖于Broker的可靠性

三、MQ技术选型

MQ(MessageQueue),中文是消息队列,字面来看就是存放消息的队列。也就是异步调用中的Broker

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

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

相关文章

CMakeFile根据不同指令集配置加载obj对象

概要 Android Studio可以使用不同的指令集进行编译,如arm64-v8a,armeabi-v7a。有时我们需要在c层感知当前编译的指令集,并进行适当的调整,如使用不同的obj对象(.o文件)。本文介绍具体的做法。 cmake文件感…

《广告数据定量分析》读书笔记之统计原理2

3.相关分析:描述的是两个数值变量间关系的强度。(两个数值型变量之间的关系) (1)图表表示:散点图 (2)衡量关系强度指标:相关系数r。 (r的取值为-1到 1&…

.net 下的身份认证与授权的实现

背景 任何一个系统,都需要对于底层访问的页面和接口进行安全的处理,其中核心就是认证和授权。 另外一个问题就是在实际编程过程中,我们的代码有不同的模式,不同的分层或者在不同的项目之中,如何在不同的地方取得用户…

Python画图(多图展示在一个平面)

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

字典转化为文字后,如何保存方便下一次引用

背景:需要从列表中获取两列数据,并将其拼接显示在一个对话框内 问题:列表原有的两列数据是以字典的形式呈现的,只在列表中短暂的转化成文字,在其他地方还是字典值(数字),所以如何将…

各平台对象存储

一、阿里云对象存储 官方文档:https://help.aliyun.com/zh/oss/getting-started/getting-started-with-oss?spma2c4g.11186623.0.0.299a646c6nWWcW 1.引入maven 官网:https://help.aliyun.com/zh/oss/developer-reference/java-installation?spma2c…

小白学linux | 使用正则表达式审计ssh登录ip地址

Ubuntu /var/log/auth.log记录了所有与身份验证相关的事件,包括SSH登录尝试 grep -i "failed password" /var/log/auth.log | \awk {if($11 ~/^[0-9]\.[0-9]\.[0-9]\.[0-9]$/)print $11 ; else print $13} | \uniq -c | sort -nr -k1 RedHat系发行版 /va…

AI大模型,普通人如何抓到红利?AI+产品经理还有哪些机会

前言 随着人工智能技术的飞速发展,AI大模型正逐渐渗透到我们的工作和生活中,为普通人带来了前所未有的便利和机遇。然而,如何有效地抓住这些红利,让AI大模型为我们所用,成为了许多人关注的焦点。 对于普通人而言&…

java aliyun oss上传和下载工具类

java aliyun oss上传和下载工具类 依赖 <dependency><groupId>com.aliyun.oss</groupId><artifactId>aliyun-sdk-oss</artifactId><version>3.8.0</version></dependency>工具类 import com.alibaba.fastjson.JSON; import c…

Threejs-04、物体的缩放与旋转

1、物体的缩放 因为物体的scale属性是vector对象,因此按照vector的属性和方法,设置x/y/z轴的缩放大小 //例如设置x轴放大3倍、y轴方向放大2倍、z轴方向不变 cube.scale.set(3, 2, 1); //单独设置某个轴的缩放 cube.scale.x = 32、物体设置旋转 因为的旋转通过设置rotation属性…

国自然和毕业论文的流程图用这个格式导入Word可无限放大

AI编辑的图片导出EMF格式可直接插入Word和PPT中 可无限放大 不推荐WMF&#xff0c;导入word可能会发生格式变化 还可在PPT中去除分组再编辑

MIPS极简史:风雨40年,两度IPO六次被收购,读后感

昨天在网上搜了mips&#xff0c;搜到了这篇文章。花时间读完了这篇文章。 mips将重点放在了pc和服务器上&#xff0c;竞争对手是intel和amd&#xff0c;mips没有竞争过这两家公司。整个历程充满坎坷。 这篇文章的两段原文如下&#xff1a; Wave Computing Inc.时运不济&…

ceph radosgw 原有zone placement信息丢失数据恢复

概述 近期遇到一个故障环境&#xff0c;因为某些原因&#xff0c;导致集群原有zone、zonegroup等信息丢失&#xff08;osd&#xff0c;pool等状态均健康&#xff09;。原有桶和数据无法访问&#xff0c;经过一些列fix后修复&#xff0c; 记录过程 恢复realm和pool相关信息 重…

我找到了全网最低价买服务器的 bug !!!

拍断大腿 周五&#xff0c;放松一下&#xff0c;给大家分享下我最近的事儿&#xff0c;以及带大家薅个&#xff08;可能会有&#xff09;的羊毛。 上个月&#xff0c;家里买了 Apple TV&#xff08;可理解为苹果的电视盒子&#xff09;装了 infuse&#xff08;一个在电视盒子上…

宝兰德应用服务器软件通过保险业信息技术应用创新攻关实验室产品适配测试认证

近期&#xff0c;宝兰德中间件核心产品「应用服务器软件 V9.5.5」&#xff08;以下简称&#xff1a;应用服务器软件&#xff09;顺利通过了保险业信息技术应用创新攻关实验室产品适配测试。标志着宝兰德应用服务器软件符合信息技术产品适配要求&#xff0c;能够全面支持金融保险…

读python、pytorch代码时代码函数记录

在读取pytorch训练代码时&#xff0c;作为小白的自己&#xff0c;总是碰到一些没用过的函数和语法&#xff0c;这里记录学习下&#xff1a; os.sep:跨平台路径分隔符,在Python中&#xff0c;os模块提供了一些与操作系统交互的功能&#xff0c;其中os.sep是一个非常重要的属性。…

Python语言字母:深度解析与魅力探索

Python语言字母&#xff1a;深度解析与魅力探索 Python&#xff0c;作为一种广泛使用的编程语言&#xff0c;其字母背后蕴含着丰富的内涵和深厚的魅力。本文将从四个方面、五个方面、六个方面和七个方面&#xff0c;深入剖析Python语言字母所蕴含的秘密和魅力&#xff0c;带您…

解决CentOS 7无法识别ntfs的问题

解决CentOS 7无法识别ntfs的问题 方式一&#xff1a; Centos默认不支持ntfs文件格式&#xff0c;直接在Centos7上插U盘或移动硬盘无法识别&#xff0c;安装 ntfs-3g即可&#xff1a; # yum install epel-release -y # yum install ntfs-3g -y[rootbogon ~]# rpm -qa | grep nt…

系统与软件工程软件测试设计技术

测试设计技术包含基于规格说明书的技术&#xff0c;基于结构的技术&#xff0c;基于经验的技术三大项。 一 基于规格说明书的技术&#xff1a; 1.1 等价类划分 等价类划分使用测试项模型将测试项输入和输出划分为等价类(也称为“分区”)&#xff0c;其中每个等价类都应当作为…

由于找不到 XXX.dll,无法继续执行代码。重新安装程序可能会解决此问题——解决方案

由于找不到 XXX.dll&#xff0c;无法继续执行代码。重新安装程序可能会解决此问题——解决方案 一、问题描述 之前项目都是在Ubuntu操作系统下完成&#xff0c;进行的很顺利。由于我没有Linux物理机&#xff0c;每次都要打开虚拟机感觉挺麻烦的&#xff0c;我就想着把在Linux上…