柚子快報邀請碼778899分享:分布式 RabbitMQ簡介
柚子快報邀請碼778899分享:分布式 RabbitMQ簡介
目錄標題
rabbitMQ簡介安裝rabbitMQrabbitMQ服務后臺引入依賴
rabbitMQ簡介
以商品訂單場景為例, 如果商品服務和訂單服務是兩個不同的微服務,在下單的過程中訂單服務需要調用商品服務進行扣庫存操作。按照傳統(tǒng)的方式,下單過程要等到調用完畢之后才能返回下單成功,如果網(wǎng)絡產(chǎn)生波動等原因使得商品服務扣庫存延遲或者失敗,會帶來較差的用戶體驗,如果在高并發(fā)的場景下,這樣的處理顯然是不合適的,那怎么進行優(yōu)化呢?這就需要消息隊列登場了。
消息隊列提供一個異步通信機制,消息的發(fā)送者不必一直等待到消息被成功處理才返回,而是立即返回。消息中間件負責處理網(wǎng)絡通信,如果網(wǎng)絡連接不可用,消息被暫存于隊列當中,當網(wǎng)絡暢通的時候在將消息轉發(fā)給相應的應用程序或者服務,當然前提是這些服務訂閱了該隊列。如果在商品服務和訂單服務之間使用消息中間件,既可以提高并發(fā)量,又降低服務之間的耦合度。
RabbitMQ就是這樣一款消息隊列。RabbitMQ是一個開源的消息代理的隊列服務器,用來通過普通協(xié)議在完全不同的應用之間共享數(shù)據(jù)。
典型應用場景:
異步處理。把消息放入消息中間件中,等到需要的時候再去處理。 流量削峰。例如秒殺活動,在短時間內訪問量急劇增加,使用消息隊列,當消息隊列滿了就拒絕響應,跳轉到錯誤頁面,這樣就可以使得系統(tǒng)不會因為超負載而崩潰
安裝rabbitMQ
#拉取鏡像
docker pull rabbitmq:3.8-management
#創(chuàng)建容器啟動
docker run -d --restart=always -p 5672:5672 -p 15672:15672 --name rabbitmq rabbitmq:3.8-management
rabbitMQ服務后臺
管理后臺:http://IP:15672
引入依賴
柚子快報邀請碼778899分享:分布式 RabbitMQ簡介
參考文章
本文內容根據(jù)網(wǎng)絡資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉載請注明,如有侵權,聯(lián)系刪除。