消息隊列
為什么要使用消息隊列?
我們從三個方面講:
第一:為了解耦,在一個鏈路中,A調(diào)B,B調(diào)C。若是C掛了,那么整個鏈路都斷掉,若是在,A和B,B和C之間有消息中間件,那么C掛機了,那么A和B會繼續(xù)運行,可以繼續(xù)產(chǎn)出消息,等C好了,再消費中間件中的消息
第二:異步,A完成消息,放入中間件中,B有空了再去消費,再放入到C的中間件中,C空了再去消費,從而實現(xiàn)了異步
第三:流量削峰填谷,某一瞬間某一個步驟出現(xiàn)大量消息時,該步驟不能立刻處理,就可以放入消息隊列中等待排隊處理
消息隊列的缺點?
第一:可用性降低,增減了消息隊列,不僅要保證服務(wù)正常,還要保證消息隊列正常使用,從而降低了可用性
第二:復(fù)雜度增高,使用消息隊列,需要實現(xiàn)生產(chǎn)者消費者關(guān)系邏輯
第三:一致性問題,消息隊列中的消息重復(fù)性問題,一致性問題
標(biāo)簽: