Sunday Blog

人生是一场刻意练习

RabbitMQ 集群搭建

Rabbitmq Cluste

AMQP AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。AMQP的主要特征

Rabbitmq Flow流控

Rabbitmq Flow

为什么要流控? 流控主要是为了防止生产者生产消息速度过快,超过 Broker 可以处理的速度。这时需要暂时限制生产者的生产速度,让 Broker 的处理能够跟上生产速度。

RabbitMQ 中的磁盘告警问题

Rabbitmq_disk_alarms

Disk Alarms RabbitMQ 能够在磁盘空闲空间低于某个阈值时阻塞 producer ;该实现方式很有必要,因为即使是非持久消息,也会在某些时候被 page out 到磁盘上;而磁盘空间的耗尽可能会

RabbitMQ 中的内存告警问题

Rabbitmq_memory_alarms

Memory Alarms 在启动了 RabbitMQ 后,若执行过 rabbitmqctl set_vm_memory_high_watermark fraction 命令,RabbitMQ server 会探测计算机上已安装 RAM 总量;默认情况下,当 RabbitMQ server 使用了超过 40% 的 RAM 内存时,会触发内存告警

RabbitMQ 中发生内存和磁盘告警时的行为

Rabbitmq_memory_and_disk_alarms

Memory and Disk Alarms 在两种场景下,RabbitMQ 会为了避免自身崩溃而停止从客户端连接上进行消息读取: 当内存使用超过配置阈值上限时; 当磁盘空闲空间低于配