1
我設置了2個節點的消息鏡像具有以下策略3個節點集羣的RabbitMQ:RabbitMQ的HA部署,以避免丟失的消息
ha-mode: exactly
ha-params: 2
ha-sync-mode: automatic
我正在使用Spring引導和Spring AMQP一些性能測試。基本上我已經阿帕奇JMeter的發送HTTP請求到發佈的消息的控制器:
@RequestMapping(value = "/webhook", method = RequestMethod.POST)
public void webhook(@RequestBody(required = true) String webhookBody, HttpServletRequest request) {
rabbitTemplate.convertAndSend("exchange", "key", "message");
}
具有以下配置:
spring:
rabbitmq:
addresses: rabbitmq-1:5672,rabbitmq-2:5672,rabbitmq-3:5672
我已經配置了腳本做每100ms的請求,並且在運行餘嘗試關閉一個節點。結果是AutoRecoverConnectionNotCurrentlyOpenException
和至少8-9失敗的請求。 您還有其他什麼設置可以完全避免這種情況下的失敗響應?使用像HAProxy/Nginx這樣的Layer 4代理更好嗎?
感謝您的建議@加里羅素,升級到最新的春季靴1.5.2做了詭計,我沒有生產者方丟失的消息。 –