MQTT协议之 Apache Apollo服务

一、说明

  MQTT是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分。该协议支持所有平台,几乎可以把所有联网物品和外部连接起来,被用来当做传感器和致动器(比如通过Twitter让房屋联网)的通信协议。

  Apache Apollo是一个代理服务器,其是在ActiveMQ基础上发展而来的,可以支持STOMP, AMQP, MQTT, Openwire, SSL, and WebSockets 等多种协议。

  总结来说MQTT只是一种消息推送的协议目前(2016/1/13)为V3.1版本,而Apache Apollo是更具这种协议而开发的一款服务性的服务程序,被用来进行消息推送。同样的服务还有Mosquitto,介绍地址:http://blog.csdn.net/xukai871105/article/details/39252653

二、原理

Apache Apollo说白了其实很简单,就是在服务器端创建一个唯一订阅号,发送者可以向这个订阅号中发东西,然后接受者(即订阅了这个订阅号的人)都会收到这个订阅号发出来的消息。以此来完成消息的推送。服务器其实是一个消息中转站。

三、下载安装Apollo(windows)

1.下载地址:http://activemq.apache.org/apollo/

2.安装

  apollo中间件其实是免安装的,我们只需要下载apache-apollo-1.7.1-windows-distro.zip,然后解压到某个文件夹就可以了。在这里我解压到D:\apache-apollo-1.7.1。解压开的路径如下:

 3.创建属于自己的apollo域

  下载下来的是官方的apollo,我们需要自己生成自己的apollo,这样做的好处就是我们可以根据自己的需求修改一些配置文件,创建过程如下: 

  1 创建一个D:\myApollo文件夹。

  2 进入命令输入模式,进入到刚创建的文件下下:cd D:\myApollo。

  3 因为接到的目录关系所以可能有些改变,目录为(解压路径\bin\apollo create myapollo) 例子:D:\apache-apollo-1.7.1\bin\apollo create myapollo

  4 创建成功后,在D:\myApollo会有一个myapollo子文件夹,里面内容如下:

   

  其中 bin为启动目录 etc为配置目录。

4.启动myapollo

  1 cd D:\myApollo\myapollo\bin  (命名模式下进入到自己生成的apollo下的bin目录)

  2 apollo-broker run  (输入启动命令)

  输入后效果如下:

  

  这里我们可以看到端口配置信息

 5.访问控制台 

  在浏览器输入http://127.0.0.1:61680/,就是上面黑窗口最后一行,打开如下页面

  

  然后输入默认用户名/密码:(admin/password),用户名密码可以在etc/users.properties中找到,点击登陆,然后进入控制页面,可以看到myapollo,当然目前里面是没有连接,没有消息的,因为我们还没有建立连接,发送消息。

  

  至此,我们的apollo中间件就可以正常使用了。

6.修改配置

  在我们的配置目录下(D:\myApollo\myapollo\etc)

  

  apollo.xml 为网络配置信息,其他的不用管最主要的

    <connector id="tcp" bind="tcp://0.0.0.0:61613" connection_limit="2000"/>   connection_limit连接限制条数2000,就是说超过2000就GG了。可不可以修改等连接到了2000条的时候更改试试。

  groups.properties 用于增加用户

    原本为: admins=admin

    增加test用户: admins=admin|test(中间用|分开)

  users.properties  用于设置用户的账号密码

    用户名=密码

    原本为: admin=password

    增加test用户:  admin=password

            test=test         (下面新增一列,此处与groups.properties文件对应)

 7.连接程序:

  依赖包:mqtt-client-0.4.0.jar

  包下载地址:https://repo.eclipse.org/content/repositories/paho/org/eclipse/paho/mqtt-client/0.4.0/

时间: 2024-08-29 16:59:28

MQTT协议之 Apache Apollo服务的相关文章

MQTT协议及推送服务(二)

MQTT简介 MQTT全称叫做Message Queuing Telemetry Transport,意为消息队列遥测传输,是IBM开发的一个即时通讯协议.由于其维护一个长连接以轻量级低消耗著称,所以常用于移动端消息推送服务开发. MQTT特性 MQTT具有如下特性: 使用发布/订阅消息模式,提供一对多消息发布: 对负载内容屏蔽的消息传输: 使用TCP/IP进行网络连接: 主流的MQTT是基于TCP进行连接的,同样也有UDP版本的MQTT,但是不太常用,叫做MQTT-SN. 具有三种消息发布服务

海鑫智圣:物联网漫谈之MQTT协议

什么是MQTT协议 MQTT(消息队列遥测传输协议)是IBM在1999年专门针对物联网等应用场景来制订的轻量级双向消息传输协议,它主要是为了解决物联网上使用到的设备的互相通信的问题,以及这些设备与后端应用系统之间通信的问题. 为什么需要MQTT(或类似)协议 随着智能硬件和移动互联网技术的快速发展,传统的互联网协议越来越难以满足物联网的需要,体现在:移动网络代价昂贵,带宽低.可靠性差:在嵌入设备中运行,处理器和内存资源有限:海量在线设备产生庞大数据,给云端带来很大的网络开销和处理压力. MQTT

MQTT协议学习及实践(Linux服务端,Android客户端的例子)

前言 MQTT(Message Queuing Telemetry Transport),是一个物联网传输协议,它被设计用于轻量级的发布/订阅式消息传输,旨在为低带宽和不稳定的网络环境中的物联网设备提供可靠的网络服务.MQTT是专门针对物联网开发的轻量级传输协议.MQTT协议针对低带宽网络,低计算能力的设备,做了特殊的优化,使得其能适应各种物联网应用场景.本文旨在研究其在消息发布/订阅/接收场景下的应用. MQTT协议中的几个重要概念 服务端 是发送消息的客户端和请求订阅的客户端之间的中介,又称

物联网MQTT协议分析和开源Mosquitto部署验证

在<物联网核心协议—消息推送技术演进>一文中已向读者介绍了多种消息推送技术的情况,包括HTTP单向通信.Ajax轮询.Websocket.MQTT.CoAP等,其中MQTT协议为IBM制定并力推,其具有开放.简单.轻量级以及易于实现的特点使得其即便在资源受限的环境中也能得到很好的使用,比如运行在资源紧缺型的嵌入式系统中或网络带宽非常昂贵的环境中,除此之外,它也被广泛用于遥感勘测.智能家居.能源监测和医疗应用程序等各个领域,是物联网的重要组成部分,将来可能会成为物联网的事实标准. 本篇文章将帮助

29. Apache apollo

一. 简介 引用其他文章: Apache Apollo是一个代理服务器,其是在ActiveMQ基础上发展而来的,可以支持STOMP, AMQP, MQTT, Openwire, SSL, and WebSockets 等多种协议. Apollo允许客户端通过开放的MQTT协议连接.该协议主要是用在资源有限的驱动上,以及网络不稳定的情况下使用,是一个订阅.发布模型.这种驱动通常不适用类似http,stomp这类基于文本,或者类似openfire,AMQP等传统二进制协议.MQTT是一个简介的二进制

MQTT协议笔记之mqtt.io项目Websocket协议支持

前言 MQTT协议专注于网络.资源受限环境,建立之初不曾考虑WEB环境,倒也正常.虽然如此,但不代表它不适合HTML5环境. HTML5 Websocket是建立在TCP基础上的双通道通信,和TCP通信方式很类似,适用于WEB浏览器环境.虽然MQTT基因层面选择了TCP作为通信通道,但我们添加个编解码方式,MQTT Over Websocket也可以的. 这样做的好处,MQTT的使用范畴被扩展到HTML5.桌面端浏览器.移动端WebApp.Hybrid等,多了一些想像空间.这样看来,无论是移动端

MQTT协议简记

 一.定义 MQTT - MQ Telemetry Transport 轻量级的 machine-to-machine 通信协议. publish/subscribe模式. 基于TCP/IP. 支持QoS. 适合于低带宽.不可靠连接.嵌入式设备.CPU内存资源紧张. 是一种比较不错的Android消息推送方案. FacebookMessenger采用了MQTT. MQTT有可能成为物联网的重要协议. MQTT是轻量级基于代理的发布/订阅的消息传输协议,它可以通过很少的代码和带宽和远程设备连接.例

转:XMPP协议、MQTT协议、HTTP协议、CoAP协议的基本比较

一.先看下相关国外的专业数据对四大协议的比较: Protocol                                    CoAP                         XMPP                                                  RESTful HTTP                                                                 MQTT Transport UDP TCP

MQTT学习笔记——MQTT协议体验 Mosquitto安装和使用

0 前言 MQTT是IBM开发的一个即时通讯协议.MQTT是面向M2M和物联网的连接协议,采用轻量级发布和订阅消息传输机制.Mosquitto是一款实现了 MQTT v3.1 协议的开源消息代理软件,提供轻量级的,支持发布/订阅的的消息推送模式,使设备对设备之间的短消息通信简单易用. 若初次接触MQTT协议,可先理解以下概念: [MQTT协议特点]--相比于RESTful架构的物联网系统,MQTT协议借助消息推送功能,可以更好地实现远程控制. [MQTT协议角色]--在RESTful架构的物联网