資料來源::blog.csdn.net/jiuqiyuliang/article/details/46701559 http://blog.csdn.net/jiuqiyuliang/article/details/47160259java
JMS是java的消息服務,JMS的客戶端之間能夠經過JMS服務進行異步的消息傳輸。異步
消息模型有兩種形式:.net
1,point-to-point(p2p)點對點code
2,publish/Subscribe(Pub/Sub)發佈訂閱blog
1>P2P模式
消息隊列(Queue) 發送者(Sender) 接受者(Receiver)隊列
每一個消息都被髮送到一個特定的隊列裏邊,接收者從隊列裏邊接受消息,保留在隊列裏邊的消息,知道他們被消費或者超時。消息隊列
P2P特色:
1,每個消息只能被一個接收者消費(一旦被消費以後,就不存在消息隊列中了)im
2,發送者和接收者在時間上沒有依賴性,就是發送者發送消息的時候無論接收者在不在運行均可以,都不會影響發送者發送消息到隊列客戶端
3,接收者在接收到消息以後須要向消息隊列應答成功top
2>pub/sub模式
主題(topic)
發佈者(publisher)
訂閱者(subscriber)
多個發佈者將消息發送到主題,再有系統蔣消息傳送給多個訂閱者
pub/sub特色
1,每一個消息可有多個消費者(多個訂閱者得到消息)
2,發佈者和訂閱者在時間上是有依賴性的。針對某個主題的訂閱者,他必須建立一個訂閱者以後才能消費這個消息,而且爲了消費消息,訂閱者必須保持運行的狀態
3,爲了緩和這個時間上的依賴性,jms容許訂閱者建立一個持久化的訂閱,這樣,即便訂閱者沒有被激活(運行),也能接收到消息。