MQ消息队列
文章平均质量分 82
Kafka、RocketMQ、RabbitMQ等主流MQ学习笔记总结
小鹿的周先生
这个作者很懒,什么都没留下…
展开
-
RabbitMQ不公平分发问题分析及问题解决
一旦数量达到配置的数量, RabbitMQ 将停止在通道上传递更多消息,除非至少有一个未处理的消息被确认,例如,假设在通道上有未确认的消息 5、6、7,8,并且通道的预取计数设置为 4,此时 RabbitMQ 将不会在该通道上再传递任何消息,除非至少有一个未应答的消息被 ack。但是实际上,可能由于消费者处理消息的速度不同(可能由于网络因素、配置因素等不同),可能就会导致有些消费者长时间处于空闲状态,有些消费者消息处理不过来,导致消息积压,导致负载不均衡等情况,会严重影响到整个系统的性能。原创 2023-12-17 15:51:46 · 2096 阅读 · 0 评论 -
RabbitMQ 消息持久化
默认情况下,exchange、queue、message 等数据都是存储在内存中的,这意味着如果 RabbitMQ 重启、关闭、宕机时所有的信息都将丢失。RabbitMQ 提供了持久化来解决这个问题,持久化后,如果 RabbitMQ 发送 重启、关闭、宕机,下次起到时 RabbitMQ 会从硬盘中恢复exchange、queue、message 等数据。原创 2023-12-17 14:43:05 · 921 阅读 · 0 评论 -
RabbitMQ 消息应答与发布
消息应答是 RabbitMQ 中的一项重要功能,它确保消息在被消费者处理后得到适当的确认。通过消息应答,消费者可以告知 RabbitMQ 它已经成功处理了一条或多条消息,并且可以安全地从消息队列中删除这些消息。这种机制保证了消息的可靠传递和处理,即使在消费者出现故障或网络问题的情况下也能确保消息不会丢失。本文将深入探讨 RabbitMQ 中的消息应答和发布的概念、原理和最佳实践。原创 2023-12-16 14:59:00 · 1684 阅读 · 0 评论 -
RabbitMQ入门案例
案例中生产者叫做 Task,一个消费者就是一个工作队列,启动两个工作队列消费消息,这个两个工作队列会以轮询的方式消费消息。假设生产者生产 AA BB CC DD这四条消息,理论上工作线程C1和工作线程C2轮询接收到消息,期望测试结果如下。轮询消费消息指的是轮流消费消息,即每个工作队列都会获取一个消息进行消费,并且获取的次数按照顺序依次往下轮流。创建一个类作为消费者,消费 RabbitMQ 队列的消息,消息消费是通过Channel来完成的。在运行第二个工作线程,此时已经开了两个工作线程,如下。原创 2023-12-15 22:58:42 · 1207 阅读 · 0 评论 -
02-MQ入门之RabbitMQ简单概念说明
Broker:接收和分发消息的应用,RabbitMQ Server 就是 Message Broker:出于多租户和安全因素设计的,把 AMQP 的基本组件划分到一个虚拟的分组中,类似于网络中的 namespace 概念。当多个不同的用户使用同一个 RabbitMQ server 提供的服务时,可以划分出多个 vhost,每个用户在自己的 vhost 创建 exchange/queue 等Connection:publisher/consumer 和 broker 之间的 TCP 连接Channel。原创 2023-12-15 08:56:52 · 490 阅读 · 0 评论 -
MQ入门—centos 7安装RabbitMQ 安装
CentOS 7.xXftpXshell链接:https://pan.baidu.com/s/1ZYVI4YZlvMrj458jakla9A提取码:dyto链接:https://pan.baidu.com/s/1jizYPpc1I-wdZ4WU2hayuw提取码:s7fm链接:https://pan.baidu.com/s/1_4ySPR-HsA9RdWn9D8f2sg提取码:fa6z。原创 2023-12-15 12:17:55 · 678 阅读 · 0 评论 -
MQ入门简介
MQ(message queue),从字面意思上看,本质是个队列,FIFO 先入先出,只不过队列中存放的内容是 message 而已,还是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中,MQ 是一种非常常 见的上下游「逻辑解耦 + 物理解耦」的消息通信服务。使用了 MQ 之后,消息发送上游只需要依赖 MQ,不用依赖其他服务。原创 2023-12-15 00:25:39 · 967 阅读 · 0 评论 -
rabbitMQ和ActiveMQ发生端口冲突解决办法
如果rabbitMQ和ActiveMQ同时安装在虚拟机中,一个可以正常启动,一个则启动不成功,首先考虑到的应该是有可能会发生端口冲突!发生冲突以后修改任意一个的端口就能解决问题。解决办法如下(修改activemq的端口):(1)转到activemq的安装目录conf(2)进入conf文件夹,打开activemq.xml(3)找到下面这行代码,修改里面的端口(把原来原来的5672改成5673)...原创 2019-10-02 19:10:37 · 1946 阅读 · 0 评论