MQ、JMS 關係的理解

MQ簡介:java

MQ全稱爲Message Queue, 消息隊列(MQ)是一種應用程序對應用程序的通訊方法。應用程序經過寫和檢索出入列隊的針對應用程序的數據(消息)來通訊,而無需專用鏈接來連接它們。消息傳遞指的是程序之間經過在消息中發送數據進行通訊,而不是經過直接調用彼此來通訊,直接調用一般是用於諸如遠程過程調用的技術。算法

MQ特色:服務器

MQ的消費-生產者模型的一個典型的表明,一端往消息隊列中不斷的寫入消息,而另外一端則能夠讀取或者訂閱隊列中的消息。MQ和JMS相似,但不一樣的是JMS是SUN Java消息中間件服務的一個標準和API定義,而MQ則是遵循了AMQP協議的具體實現和產品。數據結構

使用場景:異步

在項目中,將一些無需即時返回且耗時的操做提取出來,進行了異步處理,而這種異步處理的方式大大的節省了服務器的請求響應時間,從而提升了系統的吞吐量。ide

JMS簡介:.net

JMS(Java Messaging Service)是Java平臺上有關面向消息中間件(MOM)的技術規範,它便於消息系統中的Java應用程序進行消息交換,而且經過提供標準的產生、發送、接收消息的接口簡化企業應用的開發,翻譯爲Java消息服務。線程

JMS術語:翻譯

  1)JMS是實現JMS接口消息中間件中間件

  2)Provider(MessageProvider):生產者

  3)Consumer(MessageConsumer):消費者

  4)PTP:Point to Point,即點對點的消息模型

  5)Pub/Sub:publish/Subscribe,即發佈/訂閱的消息模型

  6)Queue:隊列目標

  7)Topic:主題目標

  8)ConnectionFactory:鏈接工廠,JMS用他建立鏈接

  9)Connection:JMS客戶端到JMS Provider的鏈接

  10)Destination:消息的目的地

  11)Session:會話,一個發送或者接受的線程

JMS的隊列消息傳遞過程以下圖(消費者與生產者):

JMS的主題消息傳遞過程以下圖(發佈/訂閱):

JMS和MQ的關係:

JMS是一個用於提供消息服務的技術規範,它制定了在整個消息服務提供過程當中的全部數據結構和交互流程。而MQ則是消息隊列服務,是面向消息中間件(MOM)的最終實現,是真正的服務提供者;MQ的實現能夠基於JMS,也能夠基於其餘規範或標準。

相關文章
相關標籤/搜索