成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

為什么使用消息隊列?我這樣回答,面試官直說講得很清楚

開發(fā) 前端
傳統(tǒng)模式下系統(tǒng)間的耦合性太強。怎么說呢,舉個例子:系統(tǒng) A 通過接口調(diào)用發(fā)送數(shù)據(jù)到 B、C、D 三個系統(tǒng),如果將來 E 系統(tǒng)接入或者 B 系統(tǒng)不需要接入了,那么系統(tǒng) A 還需要修改代碼,非常麻煩。

為什么要使用消息隊列,六個字總結(jié):解耦、異步、消峰。

1)解耦

傳統(tǒng)模式下系統(tǒng)間的耦合性太強。怎么說呢,舉個例子:系統(tǒng) A 通過接口調(diào)用發(fā)送數(shù)據(jù)到 B、C、D 三個系統(tǒng),如果將來 E 系統(tǒng)接入或者 B 系統(tǒng)不需要接入了,那么系統(tǒng) A 還需要修改代碼,非常麻煩。

圖片

如果系統(tǒng) A 產(chǎn)生了一條比較關(guān)鍵的數(shù)據(jù),那么它就要時時刻刻考慮 B、C、D、E 四個系統(tǒng)如果掛了該咋辦?這條數(shù)據(jù)它們是否都收到了?顯然,系統(tǒng) A 跟其它系統(tǒng)嚴重耦合。

而如果我們將數(shù)據(jù)(消息)寫入消息隊列,需要消息的系統(tǒng)直接自己從消息隊列中消費。這樣下來,系統(tǒng) A 就不需要去考慮要給誰發(fā)送數(shù)據(jù),不需要去維護這個代碼,也不需要考慮其他系統(tǒng)是否調(diào)用成功、失敗超時等情況,反正我只負責生產(chǎn),別的我不管。

圖片

2)異步

先來看傳統(tǒng)同步的情況,舉個例子:系統(tǒng) A 接收一個用戶請求,需要進行寫庫操作,還需要同樣的在 B、C、D 三個系統(tǒng)中進行寫庫操作。如果 A 自己本地寫庫只要 1ms,而 B、C、D 三個系統(tǒng)寫庫分別要 100ms、200ms、300ms。最終請求總延時是 1 + 100 + 200 + 300 = 601ms,用戶體驗大打折扣。

圖片

如果使用消息隊列,那么系統(tǒng) A 就只需要發(fā)送 3 條消息到消息隊列中就行了,假如耗時 5ms,A 系統(tǒng)從接受一個請求到返回響應給用戶,總時長是 1 + 5 = 6ms,對于用戶而言,體驗好感度直接拉滿。

圖片

3)消峰

如果沒有使用緩存或者消息隊列,那么系統(tǒng)就是直接基于數(shù)據(jù)庫 MySQL 的,如果有那么一個高峰期,產(chǎn)生了大量的請求涌入 MySQL,毫無疑問,系統(tǒng)將會直接崩潰。

那如果我們使用消息隊列,假設 MySQL 每秒鐘最多處理 1k 條數(shù)據(jù),而高峰期瞬間涌入了 5k 條數(shù)據(jù),不過,這 5k 條數(shù)據(jù)涌入了消息隊列。這樣,我們的系統(tǒng)就可以從消息隊列中根據(jù)數(shù)據(jù)庫的能力慢慢的來拉取請求,不要超過自己每秒能處理的最大請求數(shù)量就行。

也就是說消息隊列每秒鐘 5k 個請求進來,1k 個請求出去,假設高峰期 1 個小時,那么這段時間就可能有幾十萬甚至幾百萬的請求積壓在消息隊列中。不過這個短暫的高峰期積壓是完全可以的,因為高峰期過了之后,每秒鐘就沒有那么多的請求進入消息隊列了,但是數(shù)據(jù)庫依然會按照每秒 1k 個請求的速度處理。所以只要高峰期一過,系統(tǒng)就會快速的將積壓的消息給處理掉。

圖片

責任編輯:武曉燕 來源: 飛天小牛肉
相關(guān)推薦

2021-10-22 08:37:13

消息不丟失rocketmq消息隊列

2019-08-23 09:20:35

Spring 5編程Java

2024-06-26 11:55:44

2022-04-19 07:31:28

事務隔離機制數(shù)據(jù)庫

2019-12-02 10:51:11

Redis存儲系統(tǒng)

2021-03-24 10:25:24

優(yōu)化VUE性能

2021-10-25 08:49:32

索引數(shù)據(jù)庫MySQL

2019-04-15 14:40:46

消息隊列Java編程

2019-05-14 08:44:13

面試面試官線程安全

2022-07-06 13:48:24

RedisSentinel機制

2020-12-10 08:43:17

垃圾回收JVM

2019-12-09 10:37:27

Hash算法面試

2020-08-17 07:40:19

消息隊列

2024-05-29 14:34:07

2023-12-06 09:10:28

JWT微服務

2020-10-24 15:50:54

Java值傳遞代碼

2021-02-19 10:02:57

HTTPSJava安全

2021-01-21 07:53:29

面試官Promis打印e

2025-06-12 09:46:15

2020-12-01 11:50:49

數(shù)據(jù)庫Redis面試
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产91在线 | 欧美 | 日韩超碰 | 99re在线视频 | 毛片网络 | 天天视频一区二区三区 | 国产精品久久久久久久免费观看 | 一区二区三区在线电影 | 在线看片网站 | 最新超碰 | 久久久精品一区二区三区 | 午夜影院普通用户体验区 | 久久精品免费一区二区 | 日韩av成人 | 午夜免费福利影院 | 久久久.com | 日韩视频精品在线 | 天堂av资源| 久久影音先锋 | 日韩成人在线观看 | 综合欧美亚洲 | 国产欧美日韩一区 | 欧美日韩一区二区电影 | www日本在线播放 | 中文字幕99 | 国产黄色在线观看 | 久久亚洲国产 | 在线视频91| 日韩色视频 | 欧美成人免费在线 | 精品国产一区二区在线 | 国产免费福利小视频 | 麻豆久久久久久 | 中文字幕日本一区二区 | 国产激情视频在线 | 国产精品久久 | 啪啪综合网| 久久久久久高潮国产精品视 | 美女一区| 国产在线不卡 | 免费看黄色国产 | 亚洲欧美日本国产 |