日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

三個優點分別是:解耦、異步、削峰。

一、解耦

1.普通實現方式(商務系統)

RabbitMQ的優點和使用場景

 

對應的偽代碼如下:

支付(){
    支付邏輯...
    扣除商品庫存();
    修改訂單狀態();
}

2.MQ實現方式

RabbitMQ的優點和使用場景

 

對應的偽代碼如下:

支付(){
    支付邏輯...
    發送消息();
}

此時,如果有新的需求,要求支付成功要增加積分,那么普通實現方式中的支付邏輯就需要修改,如下:

支付(){
    支付邏輯...
    扣除商品庫存();
    修改訂單狀態();
    增加積分();
}

但是如果使用MQ實現,那么支付邏輯不需要做任何修改,只需要加上積分的邏輯監聽消息即可。這就到達了解耦的目的。

二、異步

MQ可以把部分邏輯異步化,這樣可以提高執行效率。

假如支付系統執行與耗時偽代碼如下:

支付(){
    支付邏輯...//100ms
    扣除商品庫存();//200ms
    修改訂單狀態();//200ms
    增加積分();//300ms
    Return;
}

那么執行支付邏輯就需要耗時800ms用戶才能得到結果。

但是實際上扣除庫存、修改訂單狀態和增加積分其實他們之間并沒有關系,也不影響支付成功這一結果,因此可以用MQ實現異步化。

支付(){
    支付邏輯...//100ms
    發送消息();//10ms
    Return;
}

這樣修改后,用戶只需要110ms就可以得到結果。而扣除庫存、修改訂單狀態和增加積分這些邏輯收到消息后,就自己執行即可。

三、削峰

可以防止過多地請求一次性涌入請求數據庫。

例如:搶票系統。

當到了某一可以搶票的時刻,會有一堆人一起同時請求搶票,但是票只有100張,那么第一百名以后搶票用戶的請求是沒意義的,可以直接攔截掉。這樣可以防止過多的請求涌入。

RabbitMQ的優點和使用場景

 

分享到:
標簽:RabbitMQ
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定