從零了解MQ

2021-10-09 04:47:56 字數 1517 閱讀 9943

有從別的地方複製的介紹,侵刪

代表訊息佇列,是一種應用程式對應用程式的通訊方法;通過訊息傳遞佇列傳送和接收訊息資料,達到兩者之間的資訊交換。

broker

訊息伺服器,作為server提供訊息核心服務

producer

訊息生產者,業務的發起方,負責生產訊息傳輸給broker,

consumer

訊息消費者,業務的處理方,負責從broker獲取訊息並進行業務邏輯處理

topic

主題,發布訂閱模式下的訊息統一匯集地,不同生產者向topic傳送訊息,由mq伺服器分發到不同的訂閱者,實現訊息的廣播

queue

佇列,ptp模式下,特定生產者向特定queue傳送訊息,消費者訂閱特定的queue完成指定訊息的接收

message

訊息體,根據不同通訊協議定義的固定格式進行編碼的資料報,來封裝業務資料,實現訊息的傳輸

老牌的activemq、rabbitmq,炙手可熱的kafka,阿里巴巴自主開發rocketmq等。

多對多

乙個或多個publish將一條msg發到乙個或多個queue中,乙個queue可以有多個consumer監聽,但是msg只能被其中乙個consumer消費

pub/sub發布訂閱(廣播)

乙個或多個publish將一條msg發給全部queue,可以有多個consumer消費

應用解耦

非同步訊息

流量削峰

耦合、解耦

兩者有呼叫關係,就會產生依賴,這就是耦合

常見的方法是通過緩衝區來降低相互的依賴性,就是解耦。

同步、非同步

同步

b一直等待a的處理結果出來之後,才去做接下來要做的事情

非同步

b在等待a處理的同時,先去做別的事情,直到a通知,b才去接收資料

阻塞、非阻塞

阻塞

b主動去監聽或詢問a是否處理完畢

非阻塞

a主動去告訴b自己已經處理完畢 削峰

通過緩衝區儲存的方法,來解決瞬間出現大量操作導致系統宕機的情況。

系統可用性降低

如果mq死掉,將會導致整個系統全部崩潰

系統複雜度提高

會出現:訊息重複消費、訊息丟失、傳遞訊息的順序錯誤 等情況

一致性問題

有的系統請求成功了,有的失敗了,沒辦法判斷和處理

效率

增加了一層mq,效率有所降低。

除錯和測試的工作加大。

從零了解Xshell和Xftp

在windows下遠端連線linux主機的ssh客戶端包括xshell securecrt putty bitvise ssh client mobaxterm dameware ssh smartty cygwin等。xshell 是乙個強大的安全終端模擬軟體,它支援ssh1,ssh2,以及mic...

python教程 從零帶你了解for 迴圈語句

一 for迴圈 1 從某個集合 列表等 裡順次取值 遍歷字串 name shenzhen list1 for a in name print list1 變數列表 fruits banana mango for i in fruits print 當前水果 i 遍歷字典 dic1 for key i...

想了解MQ,讀這篇就夠了

mq全稱為message queue 訊息佇列,是一種應用程式對應用程式的訊息通訊,一端只管往佇列不斷發布資訊,另一端只管往佇列中讀取訊息,發布者不需要關心讀取訊息的誰,讀取訊息者不需要關心發布訊息的是誰,各幹各的互不干擾。市場上現在常用的訊息佇列有 rabbitmq rocketmq kafka,...