我有一个RabbitMQ集群,其中有2个节点; node1
和node2
。
该集群当前拥有3个队列:
Identification
(大约113k消息)Position
(约980k消息)Velocity
(约110万条消息)所有三个队列都发送了持久消息,因此将它们写入磁盘。从这个question中,我了解到这可能会导致一些开销。
node1
在过去的某个晚上已重新启动,因此与node2
不同步。
当我通过管理UI同步identification
队列时,一切顺利。稍后,队列在node1
上同步。
但是,当尝试同步其他两个队列之一时,node1
崩溃并重新启动。从逻辑上讲,我认为这是因为要处理的消息量太多。两个节点的内存高水位标记均为700 MB,运行RabbitMQ 3.7.12并使用Erlang 21.2.6。未启用自动同步。队列通过ha-mode: all
进行镜像。
我想知道的是,有没有一种方法可以限制节点之间的同步速度,所以node1
不会不知所措?我宁愿让同步花费更长的时间,而不是如果队列大小变大根本无法同步。
编辑:我尝试检查以下位置的日志文件
RABBITMQ_LOG_BASE ${install_prefix}/var/log/rabbitmq
,(来自here)
但是日志给我的唯一原因是以下行:
2019-03-15 08:13:00.029 [info] <0.43.0> Application mnesia exited with reason: stopped