大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 高級Activemq面試題及答案

高級Activemq面試題及答案

更新時間:2021-11-23 09:44:28 來源:動力節點 瀏覽1550次

高級Activemq面試題及答案:

高級Activemq面試題及答案

具體哪些情況下會引起消息重發?

1.client用了transaction且再session中調用了rouback()

2.client用了transaction且再調用了commit()之前關閉或者沒有commit

3.client再client-ACKNOMEDGE的傳遞模式下,在session中調用了recaver()

請說說消息重發時間間隔和重發次數?

間隔:1

次數:6

有毒消息poison ACK 談談你的理解

一個消息被redelivedred超過默認的最大重發次數(默認次數是6)時,消費端會給MQ發送一個“poison ack” 表示這個消息有毒,告訴broker不要再發了,這個時候broker會把這個消息放到DLQ(死信隊列)

死信隊列?

ActiveMQ中引入了 死信隊列 的概念,即一條消息再被重發多次后(默認是6)

將會被ActiveMQ移入死信隊列,程序員 也就是我們可以在這個Queue中查看處理出錯的消息,進行人工干預。

死信隊列的使用:處理失敗的消息

一般生產環境中,使用MQ的時候,設計兩個隊列:一個核心隊列,一個死信隊列

核心業務隊列就是比如用訂單系統發送訂單消息,然后另外一個死信隊列用來處理異常的情況。

假如第三方物流系統故障了,此時無法請求,那么倉儲系統每次消費到一條訂單消息,嘗試通知發貨和配送都會遇到對方的接口報錯。此時倉儲系統就可以把這條消息拒絕訪問或者標志為處理失敗。一旦標志這條消息處理失敗后,MQ就會把這條消息轉入提前設置好的一個死信隊列中,然后你會看到的就是在第三方的物流系統故障期間,所以訂單消息全部處理失敗,全部轉入死信隊列,然后你的倉儲系統得到專門有一個后臺線程監控第三方物流系統是否正常運行,能否請求到,不停的監控,一旦發現對方恢復正常,這個后臺線程就可以從死信隊列消費出來 處理失敗的訂單,重新執行發貨和配送的通知邏輯

如何保障消息不被重復消費呢?冪等性問題等等

網絡延遲傳輸,會造成ActiveMQ重試中,在重試過程中,可能會造成重復消費

如果消息是做數據庫插入操作;給這個消息做一個唯一主鍵,那么就算出現重復消費,就導致主鍵沖突,避免出現臟數據

如果上述面兩種情況還是不行,準備一個第三方服務來做消費記錄,以redis為例,給消息分配一個全局ID,只要消費國這個消息,將 以K-V的形式寫入redis,那么消費者開始消費前,先去redis中直接查詢有沒有消費記錄即可

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 99热久久国产精品免费看 | 久久99国产乱子伦精品免费 | 国产精品亚洲片在线观看麻豆 | 四虎b7j77com| 极品美女一级毛片 | 久久九九99热这里只有精品 | 成人一a毛片免费视频 | 久久久国产99久久国产首页 | 久久在精品线影院精品国产 | 伊人网色 | a网站免费| 欧美18videosex灌满 | 亚洲精品欧洲久久婷婷99 | 成人在线a | 免费在线a | 蜜桃综合 | 国产精品原创永久在线观看 | 毛片女人十八以上观看 | 久久香蕉国产线看观看乱码 | 久久99国产精品一区二区 | 在线综合+亚洲+欧美中文字幕 | 久久综合精品国产一区二区三区 | 日韩精品视频美在线精品视频 | 日本不卡一区二区三区 | 最新午夜韩国理论片77网 | 国产精品久久久香蕉 | 色资源在线观看 | 国产精品福利在线观看入口 | 久久国产欧美 | 一级午夜 | 中国一级特黄大片毛片 | 久草视频大全 | 欧美成人性色生活片天天看 | 九九视频只有精品六 | 加勒比精品久久一区二区三区 | 亚洲国产精品看片在线观看 | 久久综合九色综合欧美狠狠 | 香蕉视频一级 | 九九热观看视频 | 精品久久久久久中文字幕一区 | 女性一级全黄生活片在线播放 |