rabbitmq集群持續齣現少量unacked消息
- 2020-04-14 22:48:00
- CJL 原創
- 5857
問題描述:
僅rabbitmq集群齣現懷疑與集群負載均衡的tcp連接保持配置有關。
解決方案:
1、rabbitmq異常沒有處理,php因異常或主動結束進程未主動斷開連接,通過負載均衡後會保持此連接。需catch異常主動斷開連接
2、幾分鐘未接受消息,在推送消息後接收消息成功,髮送ack失敗,程序異常退齣,無法主動斷開連接。可能負載均衡會對無數據的tcp單曏斷開,經測試加心跳後可解決。php-amqplib 2.9.0~2.10.0 之間是默認打開heartbeat=60的,後因爲服務端兼容問題默認改爲關閉瞭。需主動打開心跳或服務端配置心跳
php-amqplib關於心跳請求的討論:https://github.com/php-amqplib/php-amqplib/issues/563
發錶評論