RabbitMq总结

1.架构

rabbitmq由消费者,生产者,交换机,队列,bindingkey组成,交换机存在四种,主流使用三种

2.事务消息机制

将消息发送到一个单独的事务队列,再从事务队列发送到消费者可消费的队列,若出现问题则回滚,若没有问题则删除事务队列中的消息

通常通过confirm模式来实现

所有在该信道上发布的消息都将会被指派一个唯一的ID(从1开始),一旦消息被投递到所匹配的队列之后;rabbitMQ就会发送一个ACK给生产者(包含消息的唯一ID),这就使得生产者知道消息已经正确到达目的队列了;如果rabbitMQ没能处理该消息,则会发送一个Nack消息给你,你可以进行重试操作。

3.交换机类型

存在四种交换机,其中headers类型使用很少,基本不用

direct交换机会将消息发送至某一队列中,要求绑定的值完全一样

fanout交换机会将消息发送给所有绑定的队列中

topic会将消息发送给绑定了某个关键词的所有队列中,可以模糊匹配

4.持久化方式

只需要在创建队列,交换机的时候加上durable为true的参数即可

5.普通集群模式

rabbit的普通集群模式,会搭建多个mq,相互之间不会同步数据,无法保证高可用,但可以提高并发

6.死信队列和延时队列

死信队列就是创建一个队列,所有的超时,不超过消息都会进入,延时队列通过设置一个ttl,当ttl到达时发出消息,可以通过发送给死信交换机,再由死信交换机发出

7.保证消息的可靠性

消息的可靠性需要保证开启消息持久化,不然宕机消息就丢失了,首先是生产者发送消息的可靠性,mq要保证每一条消息都进行ack应答,而客户端收到了ack应答才继续发送,否则超时重试,当然需要设计接口的幂等性,对于消费者,要消费消息之后进行反馈,当mq收到反馈之后才删除消息

8.rabbitmq可以直连队列,不过不建议,会失去一定的灵活性
9.镜像队列

镜像队列是对于mq的节点进行备份,保证了高可用

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

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

相关文章

区块链在物流中的应用

区块链如何在物流行业中应用? - 知乎 (zhihu.com) 区块链物流:打造智能物流可信生态网络 - 知乎 (zhihu.com) 菜鸟供应链发布一款基于大模型的数字化供应链产品“天机π”,通过菜鸟算法基于大模型的生成式AI辅助决策,在销量预测、补货计划和…

随手记:树结构翻页和定位指定数据逻辑

业务背景: 树形组件展示数据,数据包含过去数据,现在数据,未来数据,用户在首次进入页面时,展示的是当天的数据,如果当天没有数据,则显示最近一条的过去数据。数据按照时间越长数据会…

《托斯卡纳艳阳》

有爱情不断流淌的地方,当然充满了诱惑。这里最迷人而优雅的桥段,是非常绅士而浪漫内心丰盈又恪守道德的男人马蒂尼(好评)赶来为女主捉蛇。蛇的设定自然源于亚当夏娃,而蛇的就此消失,当然告诉我们浪漫不代表…

可替代IBM DOORS的现代化需求管理解决方案Jama Connect,支持数据迁移及重构、实时可追溯性、简化合规流程

作为一家快速发展的全球性公司,dSPACE一直致力于寻找保持领先和优化开发流程的方法。为推进其全球现代化计划,dSPACE开始寻找可以取代传统需求管理平台(IBM DOORS)的需求管理解决方案。 通过本次案例,您将了解dSPACE为…

大数据第五天(操作hive的方式)

文章目录 操作hive的方式hive 存储位置hive 操作语法创建数据表的方式 操作hive的方式 hive 存储位置 hive 操作语法 创建数据表的方式 – 创建数据库 create database if not exists test我们创建数据库表的时候,hive是将我们的数据自动添加到数据表中&#xf…

江苏开放大学2024年春《机电设备安装与调试 050095》第三次形成性考核作业参考答案

电大搜题 多的用不完的题库,支持文字、图片搜题,包含国家开放大学、广东开放大学、超星等等多个平台题库,考试作业必备神器。 公众号 答案:更多答案,请关注【电大搜题】微信公众号 答案:更多答案&#…

一文解析golang中的协程与GMP模型

文章目录 前言1、线程实现模型1.1、用户级线程与内核级线程1.2、内核级线程模型1.3、用户级线程模型1.3、两级线程模型 2、GMP模型2.1、GMP模型概述2.1、GMP v1版本 - GM模型2.2、GMP v2版本 - GMP模型2.3、GMP相关源码2.4 调度流程2.5 设计思想 3.总结 前言 并发(并行&#x…

vue实现录音并转文字功能,包括PC端web,手机端web

vue实现录音并转文字功能,包括PC端,手机端和企业微信自建应用端 不止vue,不限技术栈,vue2、vue3、react、.net以及原生js均可实现。 原理 浏览器实现录音并转文字最快捷的方法是通过Web Speech API来实现,这是浏览器…

look-behind requires fixed-width pattern_正则表达式

问题&#xff1a;例如我想要匹配一段文本中&#xff0c;字符“a”在“小猫”的前面&#xff0c;中间有可能间隔好几个字符&#xff0c;也有可能直接相邻。结果只返回“小猫”。 import re text "这是一只非常可爱的a的的小猫." pattern r"(?<a*)小猫"…

JTAG访问xilinx FPGA的IDCODE

之前调试过xilinx的XVC&#xff08;Xilinx virtual cable&#xff09;&#xff0c;突然看到有人搞wifi-JTAG&#xff08;感兴趣可以参考https://github.com/kholia/xvc-esp8266&#xff09;&#xff0c;也挺有趣的。就突然想了解一下JTAG是如何运作的&#xff0c;例如器件识别&…

淘宝/天猫按图搜索淘宝商品(拍立淘) API,按图搜索商品详情

淘宝/天猫的“按图搜索商品”功能&#xff0c;通常被称为“拍立淘”&#xff0c;允许用户通过上传图片来搜索相似的商品。这项服务背后是由淘宝提供的API支持&#xff0c;使得用户能够快速找到与上传图片相匹配或类似的商品。以下是关于“按图搜索淘宝商品”API的一些关键信息&…

C++/python之设计模式(1)之什么是单例模式

C/python之设计模式&#xff08;1&#xff09;之什么是单例模式 注&#xff1a;整理一些突然学到的C、python知识&#xff0c;随时mark一下 例如&#xff1a;忘记的关键字用法&#xff0c;新关键字&#xff0c;新数据结构 设计模式整理 C/python之设计模式&#xff08;1&#x…

Java(IO异常解释(为什么要捕获异常,为什么要给NULL)

实现copy的代码&#xff1a; package a0420.iotest1.Test2;import java.io.IOException;public class Test {public static void main(String[] args) {CopyMethod.FileCopy("D:\\idealTestio\\copy.txt","D:\\idealTestio\\finalPase");} }主要想解释一下…

Unity类银河恶魔城学习记录15-1,2 p153 Audio Manager p154 Audio distance limiter

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释&#xff0c;可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili AudioManager.cs using System.Collections; using System.Collections.Gen…

三大语音机器人:如何提升销售效率

如今&#xff0c;在互联网技术的支持下&#xff0c;越来越多的企业开始采用电销方式来推销他们的产品或服务。当然&#xff0c;电销的效率往往取决于销售过程中是否采用了高效的工具和方式。不过&#xff0c;对于一些销售人员而言&#xff0c;保持高效率从来不是一件容易的事情…

Ubuntu下载的nginx的位置

位置在/etc/nginx 启动nginx systemctl status nginx上面的命令不合适&#xff0c;就重启nginx sudo service nginx restart 关闭nginx nginx -s stop Ubuntu默认的html地址在该文件夹中的default中&#xff1a; /etc/nginx/sites-available if ($http_host ~* "^(w…

【计算机系统基础读书笔记】1.1.2 冯诺依曼机基本结构

1.1.2 冯诺依曼机基本结构 冯诺依曼机基本结构如图所示&#xff1a; 模型机中主要包括&#xff1a; 主存储器&#xff1a;用来存放指令和数据&#xff0c;简称主存或内存&#xff1b; 算数逻辑部件&#xff08;Arithmetic Logic Unit&#xff0c;简称ALU&#xff09;&#x…

实现SpringMVC底层机制(二)

文章目录 1. 动态获取spring配置文件1.修改SunWebApplicationContext.java2.修改SunDispatcherServlet.java 2.自定义Service注解1.需求分析2.编写Monster.java3.自定义Service注解4.编写Service接口MonsterService.java5.编写Service实现类MonsterServiceImpl.java6.修改SunWe…

华火电燃灶:市场认可度最高的品牌

华火电燃灶市场认可度高&#xff0c;这得益于其独特的技术优势、卓越的产品性能以及广泛的市场应用。作为一种新型的燃气灶具&#xff0c;华火电燃灶在市场上的表现备受瞩目&#xff0c;成为了众多消费者和业内人士关注的焦点。 首先&#xff0c;华火电燃灶的技术优势是其市场认…

pytorch-激活函数与GPU加速

目录 1. sigmod和tanh2. relu3. Leaky Relu4. selu5. softplus6. GPU加速7. 使用GPU加速手写数据训练 1. sigmod和tanh sigmod梯度区间是0&#xff5e;1&#xff0c;当梯度趋近0或者1时会出现梯度弥散的问题。 tanh区间时-1&#xff5e;1&#xff0c;是sigmod经过平移和缩放而…