日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

聽說異步和解耦才是消息隊列最有價值的功能

來源: 責編: 時間:2024-07-11 09:29:15 792觀看
導讀消息隊列作為互聯網互聯網項目的一個可選中間件,被很多的項目、產品采用。就算你沒用過,肯定也多少了解一些,因為它是現代面試八股文必考科目之一。消息隊列這個很形象,就是把消息推到一個隊列中,然后再到這個隊列里讀,是不

消息隊列作為互聯網互聯網項目的一個可選中間件,被很多的項目、產品采用。就算你沒用過,肯定也多少了解一些,因為它是現代面試八股文必考科目之一。djT28資訊網——每日最新資訊28at.com

消息隊列這個很形象,就是把消息推到一個隊列中,然后再到這個隊列里讀,是不是就這么簡單。djT28資訊網——每日最新資訊28at.com

圖片圖片djT28資訊網——每日最新資訊28at.com

聽說消息隊列最有用的功能是異步和解耦,而什么消峰填谷、分布式事務都是錦上添花而已。djT28資訊網——每日最新資訊28at.com

常用的消息隊列

RocketMQ

RocketMQ 是阿里巴巴開發,現在已經是 Apache 軟件基金會的頂級項目。RocketMQ 是用 Java 開發,很多使用 Java 技術棧的公司都用 RocketMQ 作為消息隊列。我們就主要使用 RocketMQ 作為消息隊列服務。djT28資訊網——每日最新資訊28at.com

RabbitMQ

RabbitMQ 是一個開源的消息代理軟件,它采用了高級消息隊列協議(AMQP),用于在分布式系統中實現異步通信和消息傳遞,采用 Erlang 語言開發。最開始學習消息隊列就是用的 RabbitMQ。djT28資訊網——每日最新資訊28at.com

Apache Kafka

pache Kafka 是一個分布式流處理平臺,最初由 LinkedIn 開發,并于2011年開源,之后成為 Apache 軟件基金會的頂級項目。Kafka 旨在處理實時數據流,具有高吞吐量、低延遲和高可靠性的特點,廣泛應用于日志收集、流處理、數據集成等場景。djT28資訊網——每日最新資訊28at.com

ActiveMQ

Apache ActiveMQ 是一個開源的消息代理和集成模式服務器,由 Apache 軟件基金會開發。ActiveMQ 在形式上和 RabbitMQ 比較像,ActiveMQ 也是用 Java 開發的。djT28資訊網——每日最新資訊28at.com

除此之外,其實 Redis 也可以做消息隊列。djT28資訊網——每日最新資訊28at.com

消息隊列的應用場景

消息隊列最厲害的地方并不是采用的技術有多厲害,而是它的應用場景,只要把它加到某些應用場景中,有很多問題都可以迎刃而解。所以說,它厲害在思想上。djT28資訊網——每日最新資訊28at.com

異步處理和解耦

說到異步就離不開解耦,說到解耦又脫離不了異步。djT28資訊網——每日最新資訊28at.com

什么是異步呢?假設有個系統需要處理一個長流程,最常見的例子就是下單場景,用戶下單購買商品,后臺服務要在這個下單行為發生后做一系列的事情,要減庫存、加到用戶已購買列表中、發通知、跟蹤訂單進度等。djT28資訊網——每日最新資訊28at.com

這一系列的動作如果全都同步來做,那響應時間會比較久,而且一旦其中某個環節失敗,將會更加麻煩。djT28資訊網——每日最新資訊28at.com

所以針對類似的場景,就有了異步處理的思路,在同步響應中只把最重要的動作完成,剩下的都可以異步處理,比如購買行為,收錢和減庫存是最重要的,這兩個成功了就算是購買成功了,剩下的通知、跟蹤進度都可以稍后進行,也就是異步處理。djT28資訊網——每日最新資訊28at.com

說到此,解耦也就出現了,收錢和減庫存可以是一個線程來做,或者一個單獨的服務來做,發通知又可以是另一個線程或者另一個服務來做,這樣一來,兩個動作、兩個功能就解耦了,發通知的服務掛了不會影響真正的購買行為,而等到發通知服務啟動后,可以再處理歷史數據也沒問題。djT28資訊網——每日最新資訊28at.com

這個場景下,用到消息隊列再合適不過。而且聽說,這個場景才是消息隊列有價值的地方,也是消息隊列思想的靈魂所在。djT28資訊網——每日最新資訊28at.com

流量削峰

流量削峰是在高并發情況下,通過消息隊列將大量請求排隊處理,避免系統在短時間內被大量請求壓垮。djT28資訊網——每日最新資訊28at.com

假設一個系統本來日常只支持1萬并發,但是某個時候突然有大量的用戶進來,流量超過了系統所能承受的最大值,如果不加以控制,那等待系統的只有崩潰。djT28資訊網——每日最新資訊28at.com

這種情況下,系統可以將處理不了的請求暫時放到消息隊列中,然后在系統所能支持的并發下依次處理隊列中的請求。這樣一來,系統既不會崩潰,也能將請求都一一處理掉。djT28資訊網——每日最新資訊28at.com

當然了,如果沒有消息隊列,本身系統也可以采取其他的處理措施,比如直接將請求丟棄,或者返回一個固定值。比如某些搶購場景,本來就有數量限制,只有最先進來的請求才能搶到,后面不管再進來多少都搶不到,那后面多余的請求就沒必要處理。djT28資訊網——每日最新資訊28at.com

日志處理

很多公司都有專門的日志查看平臺,例如 Kibana,公司內所有項目都會歸集到統一的地方,通過界面點點按鈕就能看到不同項目的日志了。djT28資訊網——每日最新資訊28at.com

這背后的原理就是將用戶行為日志發送到消息隊列,再由專門的日志處理服務進行分析和處理。自從 Kafka 一出來,再用消息隊列傳輸日志就好像被它壟斷了。沒辦法,誰讓人家在這方面有特長呢。djT28資訊網——每日最新資訊28at.com

分布式事務

分布式事務通俗來說就是要么都成功,要么都不成功。djT28資訊網——每日最新資訊28at.com

還是拿訂單系統為例,在訂單創建后,通過消息隊列通知庫存系統進行庫存扣減,以保證數據的一致性。djT28資訊網——每日最新資訊28at.com

下圖是 RocketMQ 中關于分布式事務的流程圖,我們之前的項目中一直用這種方式做分布式事務處理。djT28資訊網——每日最新資訊28at.com

圖片圖片djT28資訊網——每日最新資訊28at.com

這是有些消息隊列本身支持的特性,只有本地事務完全成功執行后,才會最終投遞消息,否則消費者是看不到這個消息的。djT28資訊網——每日最新資訊28at.com

延時任務

比如我們在 12306買票,預訂后鎖票,有30分鐘時間用來付款,這30分鐘內,其他人是沒辦法看到這張票的。如果30分鐘內未付款,那這張票就不屬于你了。djT28資訊網——每日最新資訊28at.com

這種場景就是延時任務的經典場景,每一個預訂都會有自己的一個任務,這種任務和系統定時在某時某刻的定時任務是完全不一樣的。djT28資訊網——每日最新資訊28at.com

就是因為每一個預訂都有一個任務,總不能來一個任務就給系統加一個定時任務吧,這不現實。所以這種場景下,用延時隊列就最合適了,有些消息隊列是支持的。djT28資訊網——每日最新資訊28at.com

在消息生產者投遞消息時,給消息一個延遲時間,只有到了規定的延遲時間后,這個消息才能被消費者消費掉。djT28資訊網——每日最新資訊28at.com

最后

消息隊列最厲害的地方在于它的思想,而不在于它使用的具體技術。djT28資訊網——每日最新資訊28at.com

消息隊列的應用場景眾多,但是這么多應用場景中我覺得異步和解耦才是最重要的能力,你覺得呢?djT28資訊網——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-100337-0.html聽說異步和解耦才是消息隊列最有價值的功能

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 介紹 11 個常用的 C++ 代碼

下一篇: 三星 Galaxy Z Flip6 亮相:AI 助力大視野智能外屏,重塑移動生活體驗

標簽:
  • 熱門焦點
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
91久久国产自产拍夜夜嗨| 欧美日韩1区2区| 亚洲欧美激情视频| 午夜欧美理论片| 久久久久久久综合狠狠综合| 麻豆精品在线播放| 欧美日韩精品在线观看| 国产精品一二三视频| 精品动漫3d一区二区三区| 91久久国产综合久久蜜月精品| 99v久久综合狠狠综合久久| 亚洲制服欧美中文字幕中文字幕| 午夜激情亚洲| 免费日韩成人| 国产精品久久久久久久久久ktv| 含羞草久久爱69一区| 亚洲精品久久久久| 亚洲欧美一区二区激情| 可以免费看不卡的av网站| 欧美日韩国产片| 国产亚洲精品自拍| 亚洲精品一品区二品区三品区| 亚洲永久在线| 久久综合狠狠综合久久激情| 欧美日韩在线亚洲一区蜜芽| 好吊色欧美一区二区三区四区| 999亚洲国产精| 欧美在线播放高清精品| 欧美日韩国产色视频| 国产一区二区三区的电影 | 亚洲欧洲在线看| 亚洲手机在线| 六月丁香综合| 国产精品免费一区二区三区在线观看| 在线观看国产欧美| 亚洲欧美精品在线| 欧美成人亚洲成人| 韩国av一区| 亚洲欧美视频在线观看| 欧美精品一区二区三区久久久竹菊| 国产欧美高清| 在线视频一区观看| 免费永久网站黄欧美| 国产婷婷色综合av蜜臀av| 一区二区三区 在线观看视| 麻豆成人小视频| 国产日韩精品在线| 亚洲图片你懂的| 欧美激情亚洲国产| 悠悠资源网亚洲青| 欧美在线观看视频| 国产精品久久77777| 亚洲美女一区| 欧美成人一区二区三区| 精品福利免费观看| 欧美一区二区三区在线| 国产精品播放| av成人免费在线观看| 米奇777在线欧美播放| 国产又爽又黄的激情精品视频 | 欧美成人tv| 在线日本欧美| 久久久国产精品一区| 国产美女精品一区二区三区| 一区二区三区四区五区精品| 欧美成人资源| 亚洲国产aⅴ天堂久久| 久久国产精品久久国产精品| 国产精品一区二区视频| 亚洲一区精品视频| 国产精品久久久久秋霞鲁丝| 中文av一区特黄| 欧美日韩在线播放一区二区| 日韩视频免费观看高清在线视频| 欧美高清在线观看| 亚洲国产婷婷| 欧美大胆人体视频| 91久久极品少妇xxxxⅹ软件| 牛牛精品成人免费视频| 91久久精品美女高潮| 欧美大片在线影院| 亚洲精选一区| 欧美日韩在线电影| 亚洲一级在线| 国产精品视频你懂的| 午夜一区在线| 国模 一区 二区 三区| 久久久91精品国产| 伊人成人在线| 欧美va亚洲va香蕉在线| 91久久亚洲| 欧美日韩成人| 亚洲一二三四久久| 国产日韩欧美| 久久久久久网| 亚洲国产欧美久久| 欧美人与禽性xxxxx杂性| 一本大道久久a久久综合婷婷| 欧美日韩一区二区免费视频| 亚洲图片在区色| 国产欧美日韩一区二区三区| 久久久99精品免费观看不卡| 亚洲二区精品| 欧美日韩国产123区| 亚洲在线免费| 韩日成人在线| 欧美大片免费看| 亚洲午夜高清视频| 国产日韩欧美91| 免费一区视频| 亚洲午夜激情网站| 国产日韩一区欧美| 美女在线一区二区| 一本大道av伊人久久综合| 国产精品女主播一区二区三区| 欧美中文在线观看| 亚洲黄色三级| 国产精品久久久免费| 久久久久久久激情视频| 亚洲精品久久久久| 国产乱码精品一区二区三区忘忧草 | 亚洲美女视频网| 欧美日韩国产在线播放| 亚洲自拍电影| 激情偷拍久久| 欧美日韩国产色站一区二区三区| 亚洲免费在线观看| 激情欧美日韩| 欧美午夜视频网站| 久久久久久久国产| 99热在这里有精品免费| 国产日韩欧美精品一区| 欧美国产在线电影| 欧美亚洲专区| 日韩性生活视频| 国产亚洲精品aa午夜观看| 欧美电影在线观看完整版| 亚洲影院免费| 亚洲国产精品免费| 国产精品久久波多野结衣| 麻豆国产精品777777在线 | 久久综合色8888| 中文日韩在线视频| 伊人久久婷婷色综合98网| 欧美视频亚洲视频| 久久综合99re88久久爱| 亚洲午夜电影网| 亚洲日本激情| 国产视频精品va久久久久久| 欧美精品一区二区三区久久久竹菊| 欧美一区在线直播| 99re国产精品| 伊人成人开心激情综合网| 国产精品久久久久久久浪潮网站| 另类天堂视频在线观看| 午夜精品电影| 日韩午夜电影av| 一区免费观看视频| 国产伦精品一区二区三区高清版 | 亚洲人妖在线| 国产亚洲精品久久久久久| 欧美日韩直播| 免费看黄裸体一级大秀欧美| 亚洲欧美综合另类中字| 亚洲精品视频啊美女在线直播| 国产一区二区三区久久精品| 国产精品成人一区| 欧美精品在线观看播放| 久久免费视频在线| 性色av一区二区三区| 中日韩视频在线观看| 亚洲精品美女在线观看| 在线观看久久av| 国产一区二区三区成人欧美日韩在线观看| 欧美色图首页| 欧美日韩成人一区二区三区| 国产视频一区在线观看一区免费| 欧美日韩成人一区| 欧美成人综合| 麻豆成人在线| 久久久久久夜| 欧美在线不卡视频| 亚洲免费在线视频一区 二区| 99人久久精品视频最新地址| 亚洲欧洲日产国产综合网| 在线免费观看视频一区| 狠狠色综合日日| 国产一区二区主播在线| 国产视频久久久久久久| 国产日韩精品一区二区| 国产精品视频专区| 国产精品一区二区在线观看网站| 国产精品成人一区二区三区吃奶 | 久久精品国产久精国产爱| 西西人体一区二区| 亚洲欧美日本在线| 亚洲一区影音先锋| 亚洲视频在线视频| 亚洲婷婷国产精品电影人久久| 99天天综合性| 亚洲先锋成人| 亚洲综合色丁香婷婷六月图片| 亚洲一区二区三区激情| 亚洲免费视频在线观看|