MQTT介绍及Apollo使用简介

# MQTT介绍及Apollo使用简介

标签(空格分隔): mqtt apollo

---
1. 关于MQTT
MQTT是一个订阅-发布模式的消息发布协议,需要订阅者订阅相关话题,发布者通过MQTT服务器发布相关话题,订阅者才能接收。
关于MQTT协议的相关细节可以查看:[MQTT][1],其中可以点击softwar到github上下载相关软件。
在此选择的Apache的Apollo项目作为MQTT代理服务器。
2. 关于Apollo
Apache Apollo是一个代理服务器,相关内容可以查看软件网站:[Apollo][2]
有网友已经将它的相关介绍翻译过来了,可以参考翻译来更快理解:[Apollo入门指导][3],该博主也翻译了Apollo的相关手册,可以在apollo标签下找到。
3. 搭建Apollo消息代理服务器
参考官方网站的文档:[Getting Started Guide][4],和译文[Apollo入门指导][5],可以搭建出Apollo服务器。
需要注意的是:
我在Windows下下载的Apollo,当运行Broker实例的时候发现如下错误:

     ...\mqtt\apache-apollo-1.7.1-windows-distro\apache-apollo-1.7.1\bin\mybroker\bin>apollo-broker run
    系统找不到指定的路径。
    
原因还不知道,但是可以运行同目录下的 apollo-broker-service.exe,在命令行下输入:

    apollo-broker-service start //启动
    apollo-broker-service stop //停止
    apollo-broker-service restart //重启

打开http://127.0.0.1:61680/ or https://127.0.0.1:61681/,如果可以登录说明服务器启动完成。
默认用户名和密码是:admin,password
4. Apollo配置文件apollo.xml
Apollo采用broker\etc下的apollo.xml来控制broker,参考官方文档:[Understanding the apollo.xml File][6]来设置此配置文件。在这里可以修改控制台的ip地址和端口,使之可以远程登录查看,也可以设置监听的连接端口和协议。经过设置可以在Apollo Console下看到已经启动的代理服务器。
5. Apollo Console
这个是Apollo运行的监控窗口,它能显示当前服务器运行的环境,连接到服务器的订阅者和发布者,及消息的发布数量甚至消息内容。
6. 运行example例子
在Apollo的解压目录下有examples的示例程序,选择mqtt下的示例程序来解释Apollo的运行,实现发布消息,订阅消息的开发。
将Apollo下的example/mqtt导入eclipse中,再讲lib下的全部包导入eclipse中,并加入build path中。将示例程序右键选择use as source folder。会出现一些导入包错误,但是lib下的包都可以解决,这样没有错误后可以看到程序只有两个文件Listener.java和Publisher.java,这就是mqtt中的订阅者与发布者,一个用来发布话题,一个用来接收话题。
首先运行Listener.java来监听话题,然后运行Publisher.java来发布话题,可以看到Listener的控制台上会显示接收到的消息数,这里它将接收到10000条消息,这时候看Apollo Console下,就会看到topic下已经有了这样的消息传递记录。
可以在这个例子上修改来实现自己想要的效果。


  [1]: http://mqtt.org/
  [2]: http://activemq.apache.org/apollo/index.html
  [3]: http://blog.csdn.net/wuyinxian/article/details/38826771
  [4]: http://activemq.apache.org/apollo/documentation/getting-started.html
  [5]: http://blog.csdn.net/wuyinxian/article/details/38826771
  [6]: http://activemq.apache.org/apollo/documentation/user-manual.html

你可能感兴趣的:(mqtt,apollo)