1.基本的安裝
Apache Apollo是一個代理服務(wù)器草姻,其是在ActiveMQ基礎(chǔ)上發(fā)展而來的巷查,可以支持STOMP, AMQP, MQTT, Openwire, SSL, and WebSockets 等多種協(xié)議膜赃。更多介紹請參考Apollo官網(wǎng)。
安裝Apollo
下載Apollo
解壓
tar -zxvf apache-apollo-1.7.1-unix-distro.tar.gz
創(chuàng)建Broker實例
cd/var/lib${APOLLO_HOME}/bin/apollo create mybroker
一個broker實例的目錄結(jié)構(gòu)如下圖:
bin: 一些可執(zhí)行腳本
etc: 配置文件
data: 用于存儲持久消息的數(shù)據(jù)文件
log: 日志輪詢
日志輪詢是linux中對日志文件的一種處理方式踏施,為防止日志文件過大造成一些應(yīng)用的問題叮叹。
日志輪詢的原理是:按時間或者按文件大小娃属,將日志文件更名,讓應(yīng)用將新的日志寫入新的文件中护姆,舊的日志文件可以設(shè)置保留一段時間以備檢查矾端。
tmp: 在broker運行之間安全刪除的臨時文件
執(zhí)行broker
/var/lib/mybroker/bin/apollo-broker run
broker啟動后,你可以執(zhí)行一個樣例來測試broker是否正常工作卵皂,具體參見測試broker
WEB管理
Apollo提供一個簡單的web界面來監(jiān)控broker運行狀態(tài)秩铆,通過地址http://127.0.0.1:61680/orhttps://127.0.0.1:61681/來訪問。默認登陸id和密碼為'admin'和'password'灯变。
2.一些坑
apollo-mqtt服務(wù)器的有個坑真的很神奇殴玛,你在web interface里創(chuàng)建topic,過一會就沒了添祸,查了全網(wǎng)竟然一點資料沒有滚粟,看文檔才發(fā)現(xiàn)這個,你必須要在配置文件里創(chuàng)建topic而且要指定auto_delete_after參數(shù)刃泌,不然就是默認30s消失凡壤。署尤。。驚不驚喜亚侠?
我原來的理解是在服務(wù)器端創(chuàng)建一個topic曹体,其實不用,這個topic是你在鏈接的時候可以主動創(chuàng)建盖奈,如果沒有設(shè)備訂閱也沒有發(fā)布消息,那一會就消失了狐援。這個好像和百度云不一樣钢坦。
3.客戶端鏈接代碼