【消息队列MQ使用场景及测试点总结】
生活随笔
收集整理的這篇文章主要介紹了
【消息队列MQ使用场景及测试点总结】
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
消息隊列MQ是一種應用程序對應用程序的通信方法。本質是一種先進先出的數據結構。
MQ將消息持久化后,發送Ack消息給Client,此處有可能因為網絡問題導致Ack消息無法發送到Client,那么Client在等待超時后,會重傳消息;
消息傳輸保證層級?
At most once:最多一次。消息可能會丟失,但不會重復傳輸。
At least once:最少一次。消息絕不會丟失,但可能會重復傳輸。
Exactly once: ?恰好一次,每條消息肯定僅傳輸一次。
生產者如何將消息可靠投遞到MQ?
1.Client發送消息給MQ
2.MQ將消息持久化后,發送Ack消息給Client,此處有可能因為網絡問題導致Ack消息無法發送到Client,那么Client在等待超時后,會重傳消息;
3.Client收到Ack消息后,認為消息已經投遞成功。
MQ如何將消息可靠投遞到消費者?
1.MQ將消息push給Client(或Client來pull消息)
2.Client得到消息并做完業務邏輯
3.Client發送Ack消息給MQ,通知MQ刪除該消息,此處有可能因為網絡問題導致Ack失敗,那么Client會收到重復消息,這里就引出消費冪等的問題;
4.MQ將已消費的消息刪除
來自 <必知必會 RabbitMQ面試題 33道(附答案)_田維常的博客-CSDN博客>
總結
以上是生活随笔為你收集整理的【消息队列MQ使用场景及测试点总结】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 资源:Think Python中英文PD
- 下一篇: 软件工程1 初识软件工程