1.基本的安裝
Apache Apollo是一個代理服務器,其是在ActiveMQ基礎上發(fā)展而來的,可以支持STOMP, AMQP, MQTT, Openwire, SSL, and WebSockets 等多種協(xié)議。更多介紹請參考Apollo官網。
安裝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實例的目錄結構如下圖:

bin: 一些可執(zhí)行腳本
etc: 配置文件
data: 用于存儲持久消息的數據文件
log: 日志輪詢
日志輪詢是linux中對日志文件的一種處理方式,為防止日志文件過大造成一些應用的問題。
日志輪詢的原理是:按時間或者按文件大小,將日志文件更名,讓應用將新的日志寫入新的文件中,舊的日志文件可以設置保留一段時間以備檢查。
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服務器的有個坑真的很神奇,你在web interface里創(chuàng)建topic,過一會就沒了,查了全網竟然一點資料沒有,看文檔才發(fā)現這個,你必須要在配置文件里創(chuàng)建topic而且要指定auto_delete_after參數,不然就是默認30s消失。。。驚不驚喜?
我原來的理解是在服務器端創(chuàng)建一個topic,其實不用,這個topic是你在鏈接的時候可以主動創(chuàng)建,如果沒有設備訂閱也沒有發(fā)布消息,那一會就消失了。這個好像和百度云不一樣。

3.客戶端鏈接代碼
