[ActiveMQ]消息中間件基本概念及安裝

ActiveMQ是由Apache出品的,一款最流行的,能力強勁的開源消息總線。ActiveMQ是一個完全支持JMS1.1和J2EE 1.4規範的 JMS Provider實現,它非常快速,支持多種語言的客戶端和協議,而且可以非常容易的嵌入到企業的應用環境中,並有許多高級功能。

MQ
首先簡單的介紹一下MQ,MQ英文名MessageQueue,中文名也就是大家用的消息隊列,幹嘛用的呢,說白了就是一個消息的接受和轉發的容器,可用於消息推送。

下面介紹一下ActiveMQ的消息隊列模型

1Point-to-Point(P2P)
2、 Publish/Subscribe(Pub/Sub)

P2P

  • 涉及到的概念
①消息隊列(Queue)

②發送者(Sender) 

③接收者(Receiver) 

④每個消息都被髮送到一個特定的隊列,接收者從隊列中獲取消息。
隊列保留着消息,直到他們被消費或超時。
  • P2P的特點
①每個消息只有一個消費者(Consumer)(即一旦被消費,消息就不再在消息隊列中)

②發送者和接收者之間在時間上沒有依賴性,也就是說當發送者發送了消息之後,
不管接收者有沒有正在運行,它不會影響到消息被髮送到隊列

③接收者在成功接收消息之後需向隊列應答成功
如果你希望發送的每個消息都應該被成功處理的話,那麼你需要P2P模式。

Pub/Sub

  • 涉及到的概念
①主題(Topic)

②發佈者(Publisher)

③訂閱者(Subscriber) 
客戶端將消息發送到主題。多個發佈者將消息發送到Topic,系統將這些消息傳遞給多個訂閱者。
  • Pub/Sub的特點
①每個消息可以有多個消費者。

②發佈者和訂閱者之間有時間上的依賴性。針對某個主題(Topic)的訂閱者。
它必須創建一個訂閱者之後,才能消費發佈者的消息,而且爲了消費消息,訂閱者必須保持運行的狀態。

③爲了緩和這樣嚴格的時間相關性,JMS允許訂閱者創建一個可持久化的訂閱。
這樣,即使訂閱者沒有被激活(運行),它也能接收到發佈者的消息。
如果你希望發送的消息可以不被做任何處理、或者被一個消息者處理、
或者可以被多個消費者處理的話,那麼可以採用Pub/Sub模型

消息中間件有很多的用途和優點:

1. 將數據從一個應用程序傳送到另一個應用程序,或者從軟件的一個模塊傳送到另外一個模塊。

2. 負責建立網絡通信的通道,進行數據的可靠傳送。 

3. 保證數據不重發,不丟失。

4. 能夠實現跨平臺操作,能夠爲不同操作系統上的軟件集成技工數據傳送服務。

下載ActiveMQ

官方網站:http://activemq.apache.org/ 

本文中使用的是apache-activemq-5.13.2 Windows版。

1

從它的目錄來說,還是很簡單的:

bin存放的是腳本文件

conf存放的是基本配置文件

data存放的是日誌文件

docs存放的是說明文檔

examples存放的是簡單的實例

lib存放的是activemq所需jar包

webapps用於存放項目的目錄

啓動ActiveMQ

我們瞭解activemq的基本目錄,下面我們運行一下activemq服務。

雙擊bin目錄下的activemq.bat腳本文件或運行自己電腦版本下的activemq.bat

2

測試

ActiveMQ默認使用的TCP連接端口是61616, 通過查看該端口的信息可以測試ActiveMQ是否成功啓動 netstat -an|find “61616”
C:\Users>netstat -an|find "61616"
  TCP    0.0.0.0:61616          0.0.0.0:0              LISTENING
  TCP    [::]:61616             [::]:0                 LISTENING

監控

ActiveMQ默認啓動時,啓動了內置的jetty服務器,提供一個用於監控ActiveMQ的admin應用。 

admin:http://127.0.0.1:8161/admin/

用戶名和密碼都是admin

3

至此,服務端啓動完畢

停止服務器,只需要按着Ctrl+Shift+C,之後輸入y即可。

文章參考:

http://blog.csdn.net/jiuqiyuliang/article/details/47160259

ActiveMQ簡單的HelloWorld實例:

http://blog.csdn.net/jiuqiyuliang/article/details/48608237

Spring和ActiveMQ整合的完整實例

http://blog.csdn.net/jiuqiyuliang/article/details/48758203

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章