난 그냥이 설정은 무엇을 의미 하는가 RabbitMQ의 설정 세부 사항에보고RabbitMQ + 메모리 제한
[{rabbit, [{vm_memory_high_watermark, 0},
{disk_free_limit, {mem_relative, 1.0}}
]
}]
건너 온거야?
vm_memory_high_watermark
을 0으로 설정하면 => rabbitmq 앱이 즉시 시작되는 모든 게시자를 차단합니까? 그러나 우리는 여전히 우리가 보내는 모든 메시지를 대기열에 넣을 수있는 rabbitmq를 본다.
16720 rabbitmq 20 0 142m 62m 2408 S 0 **1.6** 0:06.88 beam.smp
는 때마다 우리는 우리 자체가 증가하고이 프로세스의 메모리 사용 브로커에 MSG를 보냅니다. 그래서, 워터 마크가 0으로 설정되었지만 msg가 메모리에 있음을 의미합니까?
램의 메모리 한도에 도달하고 여전히 메시지가 전송되는 경우 어떤 일이 발생하는지 알고 싶습니다. 게시자가 차단 되었습니까? 또는 사용 가능한 경우 메시지가 디스크로 스왑됩니다.
나는 그 문서를 보았습니다. 억제 된 [msg의 %가 삭제 될 수 있음] 및 차단 된 [msgs를 보낼 수 없음]은 무엇을 의미합니까? 0 %를 지정하면 앱이 시작될 때 알람이 켜져 야합니다. 모든 게시자 메시지는 차단되어야합니다. 또는 조절 했습니까? 메모리 기반 흐름 제어 [0 %]를 완전히 비활성화 한 경우 어떻게됩니까? – Tamil
이 상황에서 스로틀하면 게시자가 완전히 차단됩니다 (알람이 트리거 되었기 때문에). 0 %를 지정하면 올바른 것입니다. 알람이 울리고 모든 게시자가 차단됩니다. 메모리 기반 흐름 제어를 사용하지 않으려면 값을 100으로 설정하고 0은 모든 것을 막을 것입니다 – kzhen
내 대답을 업데이트했습니다 – kzhen