消息确认机制
消息確認機制(失誤+confirm)
?
事務機制
每一次提交和請求的時候都會降低吞吐量(少用)
三種模式
?
txSelect:用于將當前channel設置為(事務)transation模式
txCmmit:提交事務
txRollback:回滾事務
?
代碼用例:
生產(chǎn)者:
?
消費者:
?
?
Confirm模式
?
生產(chǎn)者confirm模式的原理
?
該模式的好處是什么?
該模式是異步的,能提高吞吐量。
?
1單條確認(效率很低)
生產(chǎn)者:
?
2:批量確認
?
3:異步確認
?
生產(chǎn)者類代碼:
添加通道的監(jiān)聽:只有消息到達之后才會調(diào)回調(diào)函數(shù)。
成功了會回掉handleAck(),失敗了回掉handleNack()
?
Boolean multiple:表示返回的確實是否為多條記錄。basicAck 方法的第二個參數(shù) multiple 取值為 false 時,表示通知 RabbitMQ 當前消息被確認;如果為 true,則額外將比第一個參數(shù)指定的 delivery tag 小的消息一并確認。對同一消息的重復確認,或者對不存在的消息的確認,會產(chǎn)生 IO 異常,導致信道關閉。
?
如果是多條,則把序號大于deleverTag+1的記錄全部刪除
如果是單條則指刪除序列號為deleverTag的記錄
?
?
?
轉載于:https://www.cnblogs.com/domi22/p/9096006.html
總結
- 上一篇: vue init深度定制团队自己的Vue
- 下一篇: unhandledaccessviola