理解消息隊列(MQ)

小紅希望小明多讀書浓若,常尋找好書給小明看,之前的方式是這樣:小紅問小明什么時候有空蛇数,把書給小明送去挪钓,并親眼監(jiān)督小明讀完書才走。久而久之耳舅,兩人都覺得麻煩碌上。

后來的方式改成了:小紅對小明說「我放到書架上的書你都要看」,然后小紅每次發(fā)現(xiàn)不錯的書都放到書架上浦徊,小明則看到書架上有書就拿下來看馏予。

書架就是一個消息隊列,小紅是生產(chǎn)者盔性,小明是消費者霞丧。

這帶來的好處有:

1.小紅想給小明書的時候,不必問小明什么時候有空冕香,親手把書交給他了蛹尝,小紅只把書放到書架上就行了。這樣小紅小明的時間都更自由悉尾。

2.小紅相信小明的讀書自覺和讀書能力突那,不必親眼觀察小明的讀書過程,小紅只要做一個放書的動作焕襟,很節(jié)省時間陨收。

3.當明天有另一個愛讀書的小伙伴小強加入,小紅仍舊只需要把書放到書架上鸵赖,小明和小強從書架上取書即可(唔务漩,姑且設(shè)定成多個人取一本書可以每人取走一本吧,可能是拷貝電子書或復(fù)印它褪,暫不考慮版權(quán)問題)饵骨。

4.書架上的書放在那里,小明閱讀速度快就早點看完茫打,閱讀速度慢就晚點看完居触,沒關(guān)系,比起小紅把書遞給小明并監(jiān)督小明讀完的方式老赤,小明的壓力會小一些轮洋。

這就是消息隊列的四大好處:

1.解耦

每個成員不必受其他成員影響,可以更獨立自主抬旺,只通過一個簡單的容器來聯(lián)系弊予。

小紅甚至可以不知道從書架上取書的是誰,小明也可以不知道往書架上放書的人是誰开财,在他們眼里汉柒,都只有書架误褪,沒有對方。

毫無疑問碾褂,與一個簡單的容器打交道兽间,比與復(fù)雜的人打交道容易一萬倍,小紅小明可以自由自在地追求各自的人生正塌。

2.提速

小紅選擇相信「把書放到書架上嘀略,別的我不問」,為自己節(jié)省了大量時間乓诽。

小紅很忙屎鳍,只能抽出五分鐘時間,但這時間足夠把書放到書架上了问裕。

3.廣播

小紅只需要勞動一次逮壁,就可以讓多個小伙伴有書可讀,這大大地節(jié)省了她的時間粮宛,也讓新的小伙伴的加入成本很低窥淆。

4.削峰

假設(shè)小明讀書很慢,如果采用小紅每給一本書都監(jiān)督小明讀完的方式巍杈,小明有壓力忧饭,小紅也不耐煩。

反正小紅給書的頻率也不穩(wěn)定筷畦,如果今明兩天連給了五本词裤,之后隔三個月才又給一本,那小明只要在三個月內(nèi)從書架上陸續(xù)取走五本書讀完就行了鳖宾,壓力就不那么大了吼砂。

當然,使用消息隊列也有其成本:

1.引入復(fù)雜度

毫無疑問鼎文,「書架」這東西是多出來的渔肩,需要地方放它,還需要防盜拇惋。2.暫時的不一致性假如媽媽問小紅「小明最近讀了什么書」周偎,在以前的方式里,小紅因為親眼監(jiān)督小明讀完書了撑帖,可以底氣十足地告訴媽媽蓉坎,但新的方式里,小紅回答媽媽之后會心想「小明應(yīng)該會很快看完吧……」

這中間存在著一段「媽媽認為小明看了某書胡嘿,而小明其實還沒看」的時期蛉艾,當然,小明最終的閱讀狀態(tài)與媽媽的認知會是一致的,這就是所謂的「最終一致性」伺通。

那么,該使用消息隊列的情況需要滿足什么條件呢逢享?

1.生產(chǎn)者不需要從消費者處獲得反饋

引入消息隊列之前的直接調(diào)用罐监,其接口的返回值應(yīng)該為空,這才讓明明下層的動作還沒做瞒爬,上層卻當成動作做完了繼續(xù)往后走——即所謂異步——成為了可能弓柱。

小紅放完書之后小明到底看了沒有,小紅根本不問侧但,她默認他是看了矢空,否則就只能用原來的方法監(jiān)督到看完了。

2.容許短暫的不一致性

媽媽可能會發(fā)現(xiàn)「有時候據(jù)說小明看了某書禀横,但事實上他還沒看」屁药,只要媽媽滿意于「反正他最后看了就行」,異步處理就沒問題柏锄。

如果媽媽對這情況不能容忍酿箭,對小紅大發(fā)雷霆,小紅也就不敢用書架方式了趾娃。

3.確實是用了有效果即解耦缭嫡、提速、廣播抬闷、削峰這些方面的收益妇蛀,超過放置書架、監(jiān)控書架這些成本笤成。

否則如果是盲目照搬评架,「聽說老趙家買了書架,咱們家也買一個」炕泳,買回來卻沒什么用古程,只是讓步驟變多了,還不如直接把書遞給對方呢喊崖,那就不對了挣磨。

來自 https://zhuanlan.zhihu.com/p/24860107

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市荤懂,隨后出現(xiàn)的幾起案子茁裙,更是在濱河造成了極大的恐慌,老刑警劉巖节仿,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件晤锥,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機矾瘾,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門女轿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人壕翩,你說我怎么就攤上這事蛉迹。” “怎么了放妈?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵北救,是天一觀的道長。 經(jīng)常有香客問我芜抒,道長珍策,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任宅倒,我火速辦了婚禮攘宙,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘拐迁。我一直安慰自己模聋,他們只是感情好,可當我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布唠亚。 她就那樣靜靜地躺著链方,像睡著了一般。 火紅的嫁衣襯著肌膚如雪灶搜。 梳的紋絲不亂的頭發(fā)上祟蚀,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天,我揣著相機與錄音割卖,去河邊找鬼前酿。 笑死,一個胖子當著我的面吹牛鹏溯,可吹牛的內(nèi)容都是我干的罢维。 我是一名探鬼主播,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼丙挽,長吁一口氣:“原來是場噩夢啊……” “哼肺孵!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起颜阐,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤平窘,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后凳怨,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體瑰艘,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡是鬼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了紫新。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片均蜜。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖芒率,靈堂內(nèi)的尸體忽然破棺而出囤耳,到底是詐尸還是另有隱情,我是刑警寧澤敲董,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站慰安,受9級特大地震影響腋寨,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜化焕,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一萄窜、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧撒桨,春花似錦查刻、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至谜疤,卻和暖如春佃延,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背夷磕。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工履肃, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人坐桩。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓尺棋,卻偏偏與公主長得像,于是被迫代替她去往敵國和親绵跷。 傳聞我的和親對象是個殘疾皇子膘螟,可洞房花燭夜當晚...
    茶點故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內(nèi)容