異步發(fā)送(驗證碼、短信、郵件…)
MYSQL和Redis,ES之間的數據同步
分布式事務
削峰填谷
RabbitMQ如何保證消息不丟失?
開啟生產者確認機制,確保生產者的消息能到達隊列
開啟持久化功能,確保消息未消費前在隊列中不會丟失
開啟消費者確認機制為auto,由spring確認消息處理成功后完成ack
開啟消費者失敗重試機制,多次重試失敗后將消息投遞到異常交換機,交由人工處理
RabbitMQ中死信交換機?(RabbitMQ延遲隊列有了解過嘛)
我們當時一個什么業(yè)務使用到了延遲隊列(超時訂單、限時優(yōu)惠、定時發(fā)布…)
其中延遲隊列就用到了死信交換機和TTL (消息存活時間)實現的
消息超時未消費就會變成死信(死信的其他情況:拒絕被消費,隊列滿了)
延遲隊列插件實現延遲隊列DelayExchange
聲明一個交換機,添加delayed屬性為true
發(fā)送消息時,添加x-delay頭,值為超時時間
RabbitMQ如果有100萬消息堆積在MQ,如何解決(消息堆積怎么解決)文章來源:http://www.zghlxwxcb.cn/news/detail-663075.html
增加更多消費者,提高消費速度
在消費者內開啟線程池加快消息處理速度
擴大隊列容積,提高堆積上限,采用惰性隊列
在聲明隊列的時候可以設置屬性x-queue-mode為lazy,即為惰性隊列
基于磁盤存儲,消息上限高
性能比較穩(wěn)定,但基于磁盤存儲,受限于磁盤IO,時效性會降低文章來源地址http://www.zghlxwxcb.cn/news/detail-663075.html
到了這里,關于消息中間件面試題的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!