RabbitMQ一、什么是消息队列消息队列可以看作是一个存放消息的容器,其中,生产者负责生产数据到消息队列中,而消费者负责消费数据。消息队列是分布式系统中重要的组件,目前使用较多的消息队列有ActiveMQ,RabbitMQ,Kafka,RocketMQ。消息队列主要解决了应用耦合、异步处理、流量削锋等问题。二、Rabbit特点RabbitMQ是一款使用Erlang语言开发的,实现AMQP(高级消息队列协议)的开源消息中间件,它实现了高效、可靠、可扩展的消息传递机制。以下是RabbitMQ的一些主要特点:可靠性:RabbitMQ提供了消息持久化、确认机制、事务等功能,确保消息传递的可靠性。灵活
一、下载首先应该下载erlang,rabbitmq运行需要有erland环境。官网地址:https://www.erlang.org/downloads下载rabbitmq官网环境:https://www.rabbitmq.com/download.html注意:el7对应centos7,el8对应centos8,centos7用erlang23版本或者23以下版本,centos8用erlang24版本。博主的系统是centos7的所以下载的是el7的二、安装1、在usr/local/下创建rabbitmq文件,将下载好的rpm文件上传到服务器mkdir/usr/local/rabbitmq2
文章目录前言1.安装erlang语言2.安装rabbitMQ3.内网穿透3.1安装cpolar内网穿透(支持一键自动安装脚本)3.2创建HTTP隧道4.公网远程连接5.固定公网TCP地址5.1保留一个固定的公网TCP端口地址5.2配置固定公网TCP端口地址前言RabbitMQ是一个在AMQP(高级消息队列协议)基础上完成的,可复用的企业消息系统,是当前最主流的消息中间件之一。由erlang开发的AMQP(AdvancedMessageQueue高级消息队列协议)的开源实现,由于erlang语言的高并发特性,性能较好,本质是个队列,FIFO先入先出,里面存放的内容是message,下面介绍通过在
前言:本文章将介绍RabbitMQ中的Topic(主题)模式,其中还会涉及‘#’和‘*’两个通配符在RabbitMQ中的区别。官网文档地址:https://rabbitmq.com/getstarted.html什么是Topic模式RabbitMQ的Topic模式是一种基于主题的消息传递模式。它允许发送者向一个特定的主题(topic)发布消息,同时,订阅者也可以针对自己感兴趣的主题进行订阅。在Topic模式中,主题通过一个由单词和点号组成的字符串来描述。例如,“*.china.#”表示匹配所有以“china”为结尾的主题,比如“bj.china”或“shanghai.china.weather
一.环境准备1、在pom文件中引入对应的依赖:dependency>groupId>org.springframework.boot/groupId>artifactId>spring-boot-starter-amqp/artifactId>/dependency>dependency>groupId>org.springframework.boot/groupId>artifactId>spring-boot-starter-web/artifactId>/dependency>2、在application.yml配置文件中配置RabbitMQ:spring:#rabbitmq配置rabb
目录标题消息丢失1.生产者生产消息到RabbitMQServer消息丢失场景1.网络问题2.代码层面,配置层面,考虑不全导致消息丢失解决方案:开启confirm模式2.队列本身可能丢失消息1.消息未完全持久化,当机器重启后,消息会全部丢失,甚至Queue也不见了解决方案:交换机持久化:在声明交换器时将durable设为true。队列持久化:在声明队列的时候把durable参数设置为true。消息持久化:2.单节点模式问题,节点挂了,消息只存在当前节点。硬盘坏了,那消息真的就无法恢复了3.默认的集群模式,消息只会存在与当前节点中,并不会同步到其他节点,其他节点也仅只会同步该节点的队列结构工作原理
[2023-08-0410:28:39,866:DEBUG/MainProcess]Startfromserver,version:0.9,properties:{'capabilities':{'publisher_confirms':True,'exchange_exchange_bindings':True,'basic.nack':True,'consumer_cancel_notify':True,'connection.blocked':True,'consumer_priorities':True,'authentication_failure_close':True,'per_
存储机制 RabbitMQ消息有两种类型: 1、持久化消息和非持久化消息 2、这两种消息都会被写入磁盘 持久化消息在到达队列时写入磁盘,同时会在内存中会保存一份备份,当内存吃紧时,消息从内存中清除,这会提高一定的性能。 非持久化消息一般只存于内存中,当内存压力大时数据刷盘处理,以节省内存空间。 RabbitMQ存储层包含两个部分:队列索引和消息存储队列索引:rabbit_queue_index 索引维护队列的落盘消息的信息,如存储地点、是否已被消费者接收,是否已被消费者ack等 每个队列都有相对应的索引 索引使用顺
Lison,v1.0.0,2023.06.23RabbitMQ-进阶死信队列、延迟队列、防丢失机制文章目录RabbitMQ-进阶死信队列、延迟队列、防丢失机制死信队列延迟队列延迟队列介绍**延迟队列_死信队列_的实现**延迟队列_插件实现下载插件RabbitMQ配置类RabbitMQ生产者RabbitMQ消费者测试RabbitMQ防止消息丢失消息丢失场景生产者发送消息没有发送到rabbit交换机交换机没有发送到队列交换机、队列、消息没有设置持久化消费者接收到消息没有执行业务逻辑,导致消息丢失死信队列概念在MQ中,当消息成为死信(Deadmessage)后,消息中间件可以将其从当前队列发送到另一
前言:在使用Rabbitmq过程中,每次配置参数都需要进行搜索和回忆,本文对rabbitmq中常用的配置成参数进行列举并解释;这里先粘下比较常用的参数及其简单注注释,更为详细的注释可以在文章中后面的部分进行解读:#############基础配置#mq服务器的地址spring.rabbitmq.host=localhost#mq服务器的端口spring.rabbitmq.port=5672#mq服务器的连接使用的用户名spring.rabbitmq.username=admin#mq服务器的连接使用的密码spring.rabbitmq.password=rabbitmq#mq服务器的连接使用的