Apache Apollo是一个代理服务器,是在ActiveMQ基础上发展而来的,支持STOMP, AMQP, MQTT, Openwire,SSL, and WebSockets 等多种协议。
Apollo允许客户端通过开放的MQTT协议连接。该协议主要在资源有限以及网络不稳定的情况下使用,是一个订阅、发布模型。这种驱动通常不适用类似http,stomp这类基于文本,或者类似openfire,AMQP等传统二进制协议。
MQTT是一个简介的二进制协议,适用驱动资源受限而且不稳定的网络条件下。之前的稳定发布版本中,MQTT是作为一个Apollo的一个插件提供的。但是现在,这个插件已经变为开发项目的一部分。
MQTT是一个线路层的协议,任何实现该协议的客户端都可以连接到Apollo。当然也可以整合其他MQTT兼容的消息代理中。
一、下载解压apollo
安装到d:apollo1.7.1
二、创建broker
cd d: oolsapollo1.7.1in
apollo create mybroker
三、启动broker
cd d: oolsapollo1.7.1mybrokerin
apollo-broker run
四、验证使用broker
进入Apollo 控制台,确认broker已经正常启动。
五、配置文件
一、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、认证:可以使用来配置是否需要连接认证,如果将其属性enable设置为false表示不用认证,任何人都可以连接服务器,默认为true
2、access_rule:可以在broker或者virtual_host中用于定义用户对服务器资源的各种行为。如:
表示群组users里面的用户可以对服务器资源进行的操作有:connect 、create、 destroy、 send、receive 、consume。
3、message stores:默认情况下apollo使用的是LevelDB store,但是推荐使用BDBstore(跨平台的)只能够实用其中一种。使用LevelDB store的配置是:
4、connector:用于配置服务器支持的链接协议以及相应的端口。如:
高传集
职务:云服务集团云计算产品中心首席架构师
专业领域:云计算
专家简介:2006年加入金山,负责PaaS产品服务的研发。致力于打造一套高性能、可弹性扩展的PaaS产品服务,帮助用户在云原生时代更好的构建、交付、管理自己的应用平台。