訊息中介軟體的主要作用和基本概念

2021-10-23 11:52:01 字數 968 閱讀 7340

大多應用中,可通過訊息服務中介軟體來提公升系統非同步通訊、擴充套件解耦能力

例如使用者註冊需要傳送註冊郵件和註冊簡訊的場景

方式1:傳統做法序列呼叫,資料庫》郵件》簡訊一套下來,需要150秒相應使用者,太慢

方式2:分兩個執行緒分別去發郵件和簡訊,需要響應100ms,還是有點慢

方式3:資料庫寫入成功後,立即響應使用者,然後將發郵件和發簡訊作為任務寫入訊息佇列,慢慢再消化,使用者體驗最佳

例如下圖,訂單系統實時呼叫庫存介面來操作庫存顯然是不可取的,在高併發場景下,應用間耦合性太高,會相互拖後腿。

使用方式二,加入訊息中介軟體,將應用間解耦,速度快慢互不影響,為上佳

例如在秒殺業務的大流量場景下,假如當前有100萬使用者參加秒殺,只有10萬件商品。

此時就可以將訊息佇列的長度設定為10萬,手速快的使用者蜂擁而至到佇列中,佇列佔滿後拒絕其他使用者請求,即表示秒殺失敗。然後再由業務系統慢慢去消化佇列中這10萬筆業務即可。

訊息**(message broker)和目的地(destination)

當訊息傳送者傳送訊息以後,將由訊息**接管,訊息**保證訊息傳遞到指定目的地。

訊息佇列主要有兩種形式的目的地

–訊息傳送者傳送訊息,訊息**將其放入乙個佇列中,訊息接收者從佇列中獲取訊息內容,訊息讀取後被移出佇列

–訊息只有唯一的傳送者和接受者,但並不是說只能有乙個接收者

–傳送者(發布者)傳送訊息到主題,多個接收者(訂閱者)監聽(訂閱)這個主題,那麼就會在訊息到達時同時收到訊息

ActiveMQ 訊息中介軟體基本概念及安裝

activemq是由apache出品的,一款最流行的,能力強勁的開源訊息匯流排。activemq是乙個完全支援jms1.1和j2ee 1.4規範的 jms provider實現,它非常快速,支援多種語言的客戶端和協議,而且可以非常容易的嵌入到企業的應用環境中,並有許多高階功能。mq 首先簡單的介紹一...

訊息中介軟體系列一 訊息中介軟體的基本了解

前言 這是中介軟體乙個系列的文章之一,有需要的朋友可以看看這個系列的其他文章 訊息中介軟體系列 一 訊息中介軟體的基本了解 訊息中介軟體系列二 windows下的activemq和rabbitmq的安裝 訊息中介軟體系列三 jms和activemq的簡單使用 訊息中介軟體系列 四 認識amqp和ra...

什麼是訊息中介軟體?主要作用是什麼?

在了解中介軟體之前,我們先了解一下什麼是同步?首先我們想一下,兩個公司之間如果有互相呼叫介面的業務需求,如果沒有引入中介軟體技術,是怎麼實現的呢?使用者發起請求給系統a,系統a接到請求直接呼叫系統b,系統b返回結果後,系統a才能返回結果給使用者,這種模式就是同步呼叫。所謂同步呼叫就是各個系統之間互相...