apollo1.7.1初探(一)安裝apollo、建立並啟動broker

weixin_33981932發表於2018-01-16

      Apache Apollo是一個代理伺服器,是在ActiveMQ基礎上發展而來的,支援STOMP, AMQP, MQTT, Openwire, SSL, and WebSockets 等多種協議。

      Apollo允許客戶端通過開放的MQTT協議連線。該協議主要在資源有限以及網路不穩定的情況下使用,是一個訂閱、釋出模型。這種驅動通常不適用類似http,stomp這類基於文字,或者類似openfire,AMQP等傳統二進位制協議。

  MQTT是一個簡介的二進位制協議,適用驅動資源受限而且不穩定的網路條件下。之前的穩定釋出版本中,MQTT是作為一個Apollo的一個外掛提供的。但是現在,這個外掛已經變為開發專案的一部分。MQTT在Apollo中已經不需要其他配置檔案或者是第三方外掛支援了。

  MQTT是一個線路層的協議,任何實現該協議的客戶端都可以連線到Apollo。當然也可以整合其他MQTT相容的訊息代理中。

一、下載解壓apollo

安裝到d:\apollo1.7.1

二、建立broker

cd d:\tools\apollo1.7.1\bin

apollo create mybroker

 

三、啟動broker

cd d:\tools\apollo1.7.1\mybroker\bin

apollo-broker run

四、驗證使用broker

進入Apollo 控制檯,確認broker已經正常啟動。
地址:
訪問http://127.0.0.1:61680/ or https://127.0.0.1:61681/
預設使用者名稱和密碼是: admin,password

五、配置檔案

  一、users.properties:
用來配置可以使用伺服器的使用者以及相應的密碼。
其在檔案中的儲存方式是:使用者名稱=密碼,如:
admin=password
表示新增一個使用者,使用者名稱是:admin,密碼是:password
  二、groups.properties:
持有群體的使用者對映,可以通過組而不是單個使用者簡化訪問控制列表。
可以為一個定義的組設定多個使用者,使用者之間用“|”隔開,如:
admins=admin|lily
表示admins組中有admin和lily兩個使用者
  三、black-list.txt:
用來存放不允許連線伺服器的IP地址,相當於黑名單類似的東西。
例如:10.20.9.147
表示上面IP不能夠連線到伺服器。
  四、login.config:
是一個伺服器認證的配置檔案,為了安全apollo1.6版本提供了認證功能,只有相應的使用者名稱和正確的密碼才能夠連線
伺服器。
  五、伺服器主配置檔案apollo.xml:
該配置檔案用於控制開啟的埠,佇列,安全,虛擬主機設定等。
       1、認證:可以使用<authenticationdomain="internal" />來配置是否需要連線認證,如果將其屬性enable設定為false表示不用認證,任何人都可以連線伺服器,預設為true
       2、access_rule:可以在broker或者virtual_host中用於定義使用者對伺服器資源的各種行為。如:
<access_rule allow="users" action="connect create destroy send receive consume"/>表示群組users裡面的使用者可以對伺服器資源進行的操作有:connect 、create、 destroy、 send 、receive 、consume。詳細的操作說明見:
http://activemq.apache.org/apollo/documentation/user-manual.html
       3、message stores:預設情況下apollo使用的是LevelDB store,但是推薦使用BDB store(跨平臺的)只能夠實用其中一種。使用LevelDB store的配置是:<leveldb_store directory="${apollo.base}/data"/>預設有提供不用任何修改。使用BDB store需要到網站下jar包支援http://download.oracle.com/maven/com/sleepycat/je/5.0.34/je-5.0.34.jar,將jar包放在伺服器的lib目錄下面,然後將配置檔案改成:<bdb_store directory="${apollo.base}/data"/>即可。
       4、connector:用於配置伺服器支援的連結協議以及相應的埠。如:
 <connector id="tcp" bind="tcp://0.0.0.0:61613" connection_limit="2000" protocol="mqtt"/>表示支援tcp連結,使用的埠是61613,連結限制是2000,自動偵聽的協議是mqtt協議。
具體檢視:http://activemq.apache.org/apollo/documentation/user-manual.html

相關文章