随笔分类 -  RabbitMQ

摘要:配置文件默认路径(文件不存在可以手动创建):/etc/rabbitmq/rabbitmq.conf 在RabbitMQ3.7.0之前,RabbitMQ配置文件被命名为rabbitmq.config,并使用Erlang语法配置运行3.7.0或更高版本仍然支持之前的配置,但建议使用新的sysctl格式 阅读全文
posted @ 2022-05-29 00:16 RFAA 阅读(2119) 评论(0) 推荐(0)
摘要:在RabbitMQ集群中有内存节点和磁盘节点之分 内存节点(ram):就是将元数据都放在内存里,内存节点的话,只要服务重启,该节点的所有数据将会丢失 硬盘节点(disc):就是将元数据都放在硬盘里,所以服务重启的话,数据也还是会存在的 在RabbitMQ集群里,至少有一个磁盘节点,它用来持久保存我们 阅读全文
posted @ 2022-05-28 01:29 RFAA 阅读(1771) 评论(0) 推荐(0)
摘要:消息积压 可能产生消息积压的情况: 消费端宕机 消费端消费能力不足 生产端发送流量过大 预防措施 生产者 给消息设置TTL,超时就丢弃 考虑使用队列最大长度限制 减少发布频率 消费者 1、增加消费实例,提升消费效率 2、增加消费的多线程处理 #配置完成后重启后可以通过rabbitmq页面查看到 3、 阅读全文
posted @ 2022-04-22 17:56 RFAA 阅读(1017) 评论(0) 推荐(0)
摘要:管理页面的正常状态 命令方式警告设置 注:该方式的话在重启后,会失效 接下来,我们故意将警告值设置低一点,使我们的rabbitmq页面显示警告 #设置内存值超过50MB的话将会告警 rabbitmqctl set_vm_memory_high_watermark absolute 50MB #设置内 阅读全文
posted @ 2022-04-21 17:47 RFAA 阅读(578) 评论(0) 推荐(0)
摘要:TTL过期时间 我们在RabbitMQ中发布消息时,有两种方法设置某个队列的消息过期时间: 1、针对队列来说,可以使用x-message-ttl参数设置当前队列中所有消息的过期时间,即当前队列中所有的消息过期时间都一样; 2、针对单个消息来说,在发布消息时,可以使用Expiration参数来设置单个 阅读全文
posted @ 2022-04-21 17:13 RFAA 阅读(1551) 评论(0) 推荐(0)
摘要:注:这里记得给先我们用户授权virtualhost,由于我使用的virtualhost为'/',用户为admin,所以使用以下命令进行授权 rabbitmqctl set_permissions -p / admin ".*" ".*" ".*" 生产者 1.导入相关依赖包 在创建SpringBoo 阅读全文
posted @ 2022-04-20 16:22 RFAA 阅读(435) 评论(0) 推荐(0)
摘要:1.启动RabbitMQ和Erlang rabbitmq-server -detached 该命令会同时启动rabbit应用程序和Erlang节点,如果MQ相关插件是开启状态 2.停止RabbitMQ和Erlang rabbitmqctl stop 用于停止RabbitMQ的Erlang虚拟机和Ra 阅读全文
posted @ 2022-04-06 10:41 RFAA 阅读(512) 评论(0) 推荐(0)
摘要:如果我们希望即使在RabbitMQ服务重启的情况下,也不会丢失消息,我们可以将Queue与Message都设置为可持久化的(durable),消息持久化后我们的消息会保存到我们的磁盘上,这样可以保证绝大部分情况下我们的RabbitMQ消息不会丢失。当然还是会有一些小概率事件会导致消息丢失。 1.消息 阅读全文
posted @ 2022-04-01 16:35 RFAA 阅读(841) 评论(0) 推荐(0)
摘要:RabbitMQ消息确认的本质也就是为了解决RabbitMQ消息丢失问题,因为哪怕我们做了RabbitMQ持久化,其实也并不能保证解决我们的消息丢失问题 RabbitMQ的消息确认有两种 第一种是消息发送确认。这种是用来确认生产者将消息发送给交换器,交换器传递给队列的过程中,消息是否成功投递。发送确 阅读全文
posted @ 2022-04-01 16:31 RFAA 阅读(2670) 评论(0) 推荐(1)
摘要:首先,我们需要了解,RabbitMQ的作用是什么? 解耦:例如短信,邮件,订单系统等操作使用rabbitmq作为中间件更为合适,意思就是当用户下了订单时,会存放至mq,再由别的系统例如库存过来调用,这种架构的话,即使库存系统挂掉了,也不会影响我们订单系统的使用 异步:假如有一个用户注册功能,注册的时 阅读全文
posted @ 2022-04-01 11:27 RFAA 阅读(2605) 评论(0) 推荐(0)
摘要:页面展示: 1.Overview 这里可以概览RabbitMQ的整体情况,通过点击节点名称,可以查看到节点上的具体信息 5672是RabbitMQ通信端口 15672是WEB管理页面端口 25672是集群通信端口 2.Connections 这里展示的是连接信息(无论是生产者还是消费者都需要建立连接 阅读全文
posted @ 2022-03-31 09:06 RFAA 阅读(1181) 评论(0) 推荐(0)
摘要:这里会根据交换机Exchanges的四种类型实现消息发送给队列 注:这里记得给先我们用户授权virtualhost,rabbitmqctl set_permissions -p / admin ".*" ".*" ".*" 如果你没有使用过RabbitMQ,建议先部署一下RabbitMQ:Rabbi 阅读全文
posted @ 2022-03-31 09:05 RFAA 阅读(818) 评论(0) 推荐(0)
摘要:RabbitMQ普通集群和镜像集群说明 普通集群 1、将 RabbitMQ 部署到多台服务器上,每个服务器启动一个 RabbitMQ 实例,多个实例之间进行消息通信。 2、此时我们创建的队列 Queue,它的元数据(主要就是 Queue 的一些配置信息)会在所有的 RabbitMQ 实例中进行同步, 阅读全文
posted @ 2022-03-30 09:25 RFAA 阅读(650) 评论(0) 推荐(0)
摘要:角色说明: administartor 可以登陆控制台,查看所有信息,可以对rabbitmq进行管理 monitoring 监控者,可以登陆控制台,查看所有信息 policymaker 策略定制者,登陆控制台,指定策略 managment 普通管理员,可以登陆控制台 none 其他,无法登陆控制台, 阅读全文
posted @ 2022-03-30 01:11 RFAA 阅读(1049) 评论(0) 推荐(1)
摘要:RabbitMQ部署需要事先安装好Erlang,并且rabbit和erl的版本是有对应要求的,否则将会报错! 版本对应关系可参考官网:https://www.rabbitmq.com/which-erlang.html 该部署以Red Hat 7为例 安装Erlang Erlang官网下载地址(很慢 阅读全文
posted @ 2022-03-30 00:51 RFAA 阅读(975) 评论(1) 推荐(1)