什么是消息隊(duì)列? 可以把消息隊(duì)列理解為一個(gè)使用隊(duì)列來(lái)通信的組件。它的本質(zhì)就是個(gè)轉(zhuǎn)發(fā)器,包含發(fā)消息、存消息、消費(fèi)消息的過(guò)程。我們通常說(shuō)的消息隊(duì)列,簡(jiǎn)稱(chēng)MQ(Message Queue),它其實(shí)就是消息中間件,比較流行的有RabbitMQ,RocketMQ,Kafka。 如何保證冪等性? 冪等性是指同一操作的多次執(zhí)行對(duì)系統(tǒng)狀態(tài)的影響與一次執(zhí)行結(jié)果一致。 實(shí)現(xiàn)冪等性的核心方案: 1.唯一標(biāo)識(shí)(冪等鍵):客戶(hù)端為每個(gè)請(qǐng)求生成全局唯一ID(如UUID、業(yè)務(wù)主鍵),服務(wù)端校驗(yàn)該ID是否已處理,適用場(chǎng)景接口調(diào)用、消息消費(fèi)等。 2.數(shù)據(jù)庫(kù)事務(wù)+樂(lè)觀鎖:通過(guò)版本號(hào)或狀態(tài)字段控制并發(fā)更新,確保多次更新等同于單次操...