天天看點

JMS入門

1.什麼是消息中間件
消息中間件利用高效可靠的消息傳遞機制進行平台無關的資料交流,并基于資料通信來進行分布式系統的內建。通過提供消息傳遞和消息排隊模型,它可以在分布式環境下擴充程序間的通信。對于消息中間件,常見的角色大緻也就有Producer(生産者)、Consumer(消費者)
  1. 常見的消息中間件産品:

    (1)ActiveMQ 是Apache出品,最流行的,能力強勁的開源消息總線。ActiveMQ是一個完全支援JMS1.1和J2EE 1.4規範的 JMS Provider實作。我們在本次課程中介紹 ActiveMQ的使用。

    (2)RabbitMQ AMQP協定的上司實作,支援多種場景。淘寶的MySQL叢集内部有使用它進行通訊,OpenStack開源雲平台的通信元件,最先在金融行業得到運用。

    (3)ZeroMQ 史上最快的消息隊列系統

    (4)Kafka Apache下的一個子項目特點:高吞吐,在一台普通的伺服器上既可以達到10W/s的吞吐速率;完全的分布式系統。适合處理海量資料。

2.應用場景

比如:網上購物通過快遞郵寄,你不一定随時随地都能取上快遞,比如你寫的是家庭位址不一定24小時都在家,快遞員給你送貨

第一種情況:

快遞員等你到家在送

第二種情況:

快遞可以放到你樓下的超市

第三種情況:

放到小區快遞櫃

快遞員不能等你回家,在給你送貨,這就是消息中間件解決的生活問題

*

解決系統子產品異步調用, 改善系統子產品調用關系、減少子產品之間的耦合一種解決方案----消息中間件

3.什麼時候使用消息中間件

執行過程比較長,不需要傳回值的情況下。

4.JMS
許多廠商目前都支援 JMS,包括 IBM 的 MQSeries、BEA的 Weblogic JMS service和 Progress 的 SonicMQ,這隻是幾個例子。 JMS 使您能夠通過消息收發服務(有時稱為消息中介程式或路由器)從一個 JMS 客戶機向另一個 JML 客戶機發送消息。消息是 JMS 中的一種類型對象,由兩部分組成:報頭和消息主體。報頭由路由資訊以及有關該消息的中繼資料組成。消息主體則攜帶着應用程式的資料或有效負載。

JMS 定義了五種不同的消息正文格式,以及調用的消息類型,允許你發送并接收以一些不同形式的資料,提供現有消息格式的一些級别的相容性。

  • TextMessage–一個字元串對象
  • MapMessage–一套名稱-值對
  • ObjectMessage–一個序列化的Java 對象 ·
  • BytesMessage–一個位元組的資料流 ·
  • StreamMessage – Java 原始值的資料流

    JMS消息傳遞類型

    對于消息的傳遞有兩種類型:

  • 點對點的,即一個生産者和一個消費者一一對應;
  • 釋出/ 訂閱模式,即一個生産者産生消息并進行發送後,可以由多個消費者進行接收。
5.ActiveMQ
  1. 下載下傳 官方網站下載下傳:http://activemq.apache.org/
  2. 安裝(Linux)

    (1)将apache-activemq-5.12.0-bin.tar.gz 上傳至伺服器

    alt+p鍵

    JMS入門
    (2)解壓此檔案 tar zxvf apache-activemq-5.12.0-bin.tar.gz
    JMS入門
    (3)為apache-activemq-5.12.0目錄賦權 chmod 777 apache-activemq-5.12.0
    JMS入門
    (4)進入apache-activemq-5.12.0\bin目錄 啟動
    JMS入門

    (5)假設伺服器位址為192.168.2.100 ,打開浏覽器輸入位址

    http://192.168.2.100:8161/ 即可進入ActiveMQ管理頁面

    JMS入門

    (6)點選進入管理頁面

    輸入使用者名和密碼 均為 admin

    JMS入門
    (7)點對點消息清單:
    JMS入門
    JMS入門
JMS