rabbit主要特性:
- 解耦 :服務之間通過rabbit傳遞消息減少服務端執行時間,增加請求的可靠性(基本一定會執行,請求丟失概率極低)
- 跨語言:rabbit支持多種開發語言,減少了不同語言系統間請求的複雜度
- 高可用:rabbit支持集羣模式,對高併發、削峯、平谷等都有較好的處理,並且支持消息數據的持久化
正常請求:客戶端請求A服務,A服務依賴於B服務,此時如果B服務程序異常或服務器宕機了那麼這個請求就失敗了。
使用消息中間件:A服務把需要請求B服務的信息告知rabbit,由rabbit去告知B服務,此時A只需要確定消息給到rabbit了就行了,不需要等待B服務的執行結果,從而實現系統解耦並加快請求的響應時間。