RocketMq入門
- 為什么要用MQ
- MQ的優缺點
- 優點:
- 缺點
為什么要用MQ
- 應用解耦
系統的耦合性越高,容錯性就越低,以電商為例,用戶創建完訂單后,如果耦合呼叫庫存系統、物流系統、支付系統,任何一個系統出現故障或者因為升級等原因暫時不可用,都回造成下單的例外,影響用戶的體驗, - 流量削峰
應用系統如果遇到系統請求流量瞬間猛增,有可能會將系統壓垮,如果有訊息佇列,遇到此情況,可以將大量請求存盤起來,將一瞬間的峰值請求分散到一段時間進行處理,這樣可以大大提高系統的穩定性 - 異步
用戶呼叫一個介面的時候,可能該介面呼叫了別的方法,例如:用戶注冊的時候,后臺可能需要呼叫:查詢資料庫,插入資料庫,發送郵件等等…
但是用戶可能并不需要后臺將所有的任務執行完畢,那么此時在初入資料口后面加入MQ,用戶就能很快得到注冊成功的回應而去做一些別的事情,mq的機制又能保證最終的一致性,所以使用起來很安全很穩定,
MQ的優缺點
優點:
解耦、削峰、異步
缺點
- 系統可用性降低
系統引入的外部依賴越多,系統穩定性越差,一旦MQ宕機,就會對業務造成影響, - 系統復雜度提高
MQ的加入大大增加了系統的復雜度,以前系統間是同步的遠程呼叫,現在是通過MQ進行異步呼叫, - 一致性問題
A系統處理完了發送到MQ中后直接回傳成功了,用戶以為你這個請求就成功了,但是問題是,其他系統消費該訊息后,如果當中有一個系統出現了問題,最后就會發生資料不一致等問題,
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/240991.html
標籤:其他
