一張貼告訴你什麼是訊息佇列

2021-10-04 07:29:54 字數 1025 閱讀 9275

訊息(message):是指在應用之間傳送的資料,訊息可以非常簡單,比如只包含文字字串,也可以更複雜,可能包含嵌入物件。

訊息佇列(message queue):是一種應用間的通訊方式,訊息傳送後可以立即返回,由訊息系統來確保資訊的可靠專遞,訊息發布者只管把訊息發布到mq中而不管誰來取,訊息使用者只管從mq中取訊息而不管誰發布的,這樣發布者和使用者都不用知道對方的存在

訊息佇列在實際應用中包括如下四個場景:

應用耦合:多應用間通過訊息佇列對同一訊息進行處理,避免呼叫介面失敗導致整個過程失敗;

非同步處理:多應用對訊息佇列中同一訊息進行處理,應用間併發處理訊息,相比序列處理,減少處理時間;

限流削峰:廣泛應用於秒殺或搶購活動中,避免流量過大導致應用系統掛掉的情況;

訊息驅動的系統:系統分為訊息佇列、訊息生產者、訊息消費者,生產者負責產生訊息,消費者(可能有多個)負責對訊息進行處理;

下面詳細介紹上述四個場景以及訊息佇列如何在上述四個場景中使用:

訊息佇列包括兩種模式,點對點模式(point to point, queue)和發布/訂閱模式(publish/subscribe,topic)

點對點模式下包括三個角色:

訊息佇列

傳送者 (生產者)

接收者(消費者)

訊息傳送者生產訊息傳送到queue中,然後訊息接收者從queue中取出並且消費訊息。訊息被消費以後,queue中不再有儲存,所以訊息接收者不可能消費到已經被消費的訊息。

點對點模式特點:

發布/訂閱模式下包括三個角色:

角色主題(topic)

發布者(publisher)

訂閱者(subscriber)

發布者將訊息傳送到topic,系統將這些訊息傳遞給多個訂閱者。

發布/訂閱模式特點:

一文告訴你什麼叫邊緣計算

邊緣計算是一種計算框架,它使計算能力和儲存更接近發生資料生成且人們需要做出資料驅動決策的網路邊緣。使邊緣計算裝置更接近資料生成源可帶來巨大的業務收益,包括實時資料分析和處理,以及縮短的響應時間和增加的可用頻寬量。如果部署正確,邊緣計算機 將具有 增強流程效率,自動化任務以及創造總體上更好的客戶體驗的...

用一張表解決你批量插入千萬條資料的煩惱

在效能測試時,常常需要大量的記錄數。mysql函式較少,在postgresql中有generate series函式,使用十分方便。在mysql中如何更加方便的處理,可以生成乙個序列號表,專門用於批量操作,插入資料。建立序列表 create table numserial num int 插入資料 ...

你退休後能拿多少錢 一張表算出來

許多任務薪階層都有疑問,我們現在繳納的這些養老金,以後退休了到底能領多少錢?通過各種資訊收集和測算,今天把測算結果分享給大家,需要計算表的小夥伴,戳閱讀原文。首先普及一些基礎概念 個人養老金繳納比例 8 參保人繳費基數 即社保繳費基數,不等同於工資,取決於企業的社保繳存政策。退休金計算公式 企業職工...