2
- ELB會爲60秒怠速自動關閉連接,具有TCP連接切換到CLOSE_WAIT狀態
- 然而,芹菜不會受到關注,並保持發佈任務信息
- 信息將被保存在發送緩衝區
- 當緩衝區已滿時,芹菜發佈呼叫將被阻止。
可能的破壞:如何防止Amazon ELB坐在RabbitMQ前與芹菜關係緊密?
- 在發送緩衝區信息將丟失
- 阻塞調用的發佈將是單線程ioloop框架是非常有害的。例如龍捲風
可能的破壞:如何防止Amazon ELB坐在RabbitMQ前與芹菜關係緊密?
解決方案
BROKER_TRANSPORT_OPTIONS = {'confirm_publish': True}
,使芹菜等待ACK爲每個發佈的消息,如果ACK沒有收到,它將重新構建連接並重新發送。只適用於py-amqp(ref),表現降級。