我有一個RabbitMQ的特定用例,我想澄清一些事情並徵求建議。RabbitMQ(和node.js)中的異步確認
考慮這種情況:
1 - 我發佈兩條消息,是要執行的任務:messageA然後messageB
2 - 我的消費者得到messageA,執行包含在該消息中的任務,但當任務正在運行時,服務器崩潰
我的問題是:當服務器重新啓動時,messageA是否會被重新排序,並且會在messageB(與崩潰之前的順序相同)之前重新排序?
據我所知,如果服務器崩潰,messageA將會丟失,因爲我的客戶在收到消息時已默認承認它。
所以我的想法是單獨使用和確認消息:先消耗,運行任務,然後在任務成功執行後確認消息。
您是否看到這種方法存在問題?你會建議我做其他事嗎?