我在群集中有2个RabbitMQ
个节点。
我决定将配置文件中的磁盘空间自由限制更改为内存相对而不是硬编码值。
{disk_free_limit, {mem_relative, 2.0}}
我的理解是:设置磁盘空闲限制(在发布消息的警报和阻止之前)应该是2 * RAM内存,在我的情况下2GB
RabbitMQ
似乎运作良好等等。
唯一奇怪的是,在RabbitMQ Management Pluggin
磁盘空间列中显示了值(not available)
是否存在我可能不知道的问题?或者它可能只是RabbitMQ
对该配置的行为?
谢谢。
有关版本的一些信息:
RabbitMQ版本:3.6.0
Erlang版本:7.2.1
操作系统和版本:Windows Server 2012R2标准
答案 0 :(得分:0)
问题解决了。
发生在我身上的事情很少。
当RabbitMQ Management Plugin
将磁盘空间禁用为(not available)
时,它根本无法控制磁盘空间。
我认为问题出在Windows上设置mem_relative
。我将其更改为硬编码值。
我最近发现了这种环境的严重缺失。
以下是该方案:
我们Consumers
发生了一些事情,所以他们停下来接受任何消息。 Publishers
正常工作。结果,由于缺少硬盘空间,RabbitMQ
使用了盒子上的所有可用空间然后进行了故障转移。
磁盘空间低水印应该阻止所有发布者,如果HDD上的空间低于此值,从技术上讲,这会阻止RabbitMQ
占用所有资源。