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

Apollo允许客户端通过开放的MQTT协议连接。该协议主要在资源有限以及网络不稳定的情况下使用,是一个订阅、发布模型。这种驱动通常不适用类似http,stomp这类基于文本,或者类似openfire,AMQP等传统二进制协议。

  MQTT是一个简介的二进制协议,适用驱动资源受限而且不稳定的网络条件下。之前的稳定发布版本中,MQTT是作为一个Apollo的一个插件提供的。但是现在,这个插件已经变为开发项目的一部分。MQTT在Apollo中已经不需要其他配置文件或者是第三方插件支持了。

  MQTT是一个线路层的协议,任何实现该协议的客户端都可以连接到Apollo。当然也可以整合其他MQTT兼容的消息代理中。

一、下载解压apollo

安装到d:\apollo1.7.1

二、创建broker

cd d:\tools\apollo1.7.1\bin

apollo create mybroker

三、启动broker

cd d:\tools\apollo1.7.1\mybroker\bin

apollo-broker run

四、验证使用broker

进入Apollo 控制台,确认broker已经正常启动。
地址:
访问http://127.0.0.1:61680/ or https://127.0.0.1:61681/
默认用户名和密码是: admin,password

五、配置文件

一、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、认证:可以使用<authenticationdomain="internal" />来配置是否需要连接认证,如果将其属性enable设置为false表示不用认证,任何人都可以连接服务器,默认为true
       2、access_rule:可以在broker或者virtual_host中用于定义用户对服务器资源的各种行为。如:
<access_rule allow="users" action="connect create destroy send receive consume"/>表示群组users里面的用户可以对服务器资源进行的操作有:connect 、create、 destroy、 send 、receive 、consume。详细的操作说明见:
http://activemq.apache.org/apollo/documentation/user-manual.html
       3、message stores:默认情况下apollo使用的是LevelDB store,但是推荐使用BDB store(跨平台的)只能够实用其中一种。使用LevelDB store的配置是:<leveldb_store directory="${apollo.base}/data"/>默认有提供不用任何修改。使用BDB store需要到网站下jar包支持http://download.oracle.com/maven/com/sleepycat/je/5.0.34/je-5.0.34.jar,将jar包放在服务器的lib目录下面,然后将配置文件改成:<bdb_store directory="${apollo.base}/data"/>即可。
       4、connector:用于配置服务器支持的链接协议以及相应的端口。如:
 <connector id="tcp" bind="tcp://0.0.0.0:61613" connection_limit="2000" protocol="mqtt"/>表示支持tcp链接,使用的端口是61613,链接限制是2000,自动侦听的协议是mqtt协议。
具体查看:http://activemq.apache.org/apollo/documentation/user-manual.html

apollo1.7.1初探(一)安装apollo、创建并启动broker的更多相关文章

  1. 安装自创建的windows服务。

    安装自创建的windows服务. 使用工具InstallUtil.exe进行安装和卸载创建的windows服务 安装:C:/WINDOWS/Microsoft.NET/Framework/v2.0.5 ...

  2. Oracle 11.2.4.0 ACTIVE DATAGUARD 单实例安装(COPY创建备库)

    Oracle 11.2.4.0 ADG 单实例安装(COPY创建备库) 规划: 主: OS: Linux Centos 6.5 X64 hostname:ORA11G-DG1 ipaddress:19 ...

  3. Git版本控制工具(一)----git的安装及创建版本库

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

  4. C++框架_之Qt的开始部分_概述_安装_创建项目_快捷键等一系列注意细节

    C++框架_之Qt的开始部分_概述_安装_创建项目_快捷键等一系列注意细节 1.Qt概述 1.1 什么是Qt Qt是一个跨平台的C++图形用户界面应用程序框架.它为应用程序开发者提供建立艺术级图形界面 ...

  5. Angular安装及创建第一个项目

    Angular简介 AngularJS 诞生于2009年,由Misko Hevery 等人创建,后为Google所收购.是一款优秀的前端JS框架,已经被用于Google的多款产品当中.AngularJ ...

  6. rabbitMQ的安装和创建用户

    rabbitMQ的安装和创建用户 在计算机科学中,消息队列(英语:Message queue)是 一种 进程间通信或同一进程的不同 线程 间的通信方式,软件的贮列用来处理一系列的输入,通常是来自用户. ...

  7. Django在Win7下安装与创建项目hello word示例

    Django在Win7下的安装及创建项目hello word的例子 有关python 的django 框架安装与开发的小例子.Django在Win7下的安装及创建项目hello word.1.安装:命 ...

  8. Mysql数据库一:安装与创建windows服务

    Mysql数据库安装与创建windows服务 1.先下载压缩包(mysql-5.7.18-winx64.zip)移动到对应目录(如D:\software)后解压. 2.安装服务端: mysqld:带d ...

  9. 01慕课网《进击Node.js基础(一)》Node.js安装,创建例子

    版本:偶数位为稳定版本,基数为非稳定版本 - 0.6.x - 0.7.x    - 0.8.x -0.9.x    -0.10.x  -0.11.x 概念:Node.js采用谷歌浏览器的V8引擎,用C ...

随机推荐

  1. jQuary学习の三の效果展示

    一.隐藏显示 1.$(selector).hide(speed,callback);2.$(selector).show(speed,callback); 可选的 speed 参数规定隐藏/显示的速度 ...

  2. 本地mysql无法连接原来是这里有问题啊。。。。。。

    1.怎么解决localhost无法链接本地mysql数据库问题_百度经验http://jingyan.baidu.com/article/d45ad14896d1cd69542b805c.html 2 ...

  3. Unity服务端链接MySQL数据库

    链接数据库,可以分为以下几个流程: 链接MySQL(数据库地址.端口.用户名.密码) 选择数据库 执行sql语句 关闭数据库 转换为代码如下: using System; using MySql.Da ...

  4. 理解Spring中的IOC和AOP

    我们是在使用Spring框架的过程中,其实就是为了使用IOC,依赖注入和AOP,面向切面编程,这两个是Spring的灵魂. 主要用到的设计模式有工厂模式和代理模式 IOC就是典型的工厂模式,通过ses ...

  5. lsof命令各个参数

    lsof `which httpd`  哪个进程在使用apache的可执行文件lsof /etc/passwd ------------ 哪个进程在占用/etc/passwdlsof /dev/hda ...

  6. Linux系统-解压缩命令集合

    Linux系统-解压缩命令集合 linux zip命令 zip -r myfile.zip ./* 将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件. ...

  7. vue简单的自由拖拽

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  8. 笔记:Spring Cloud Zuul 快速入门

    Spring Cloud Zuul 实现了路由规则与实例的维护问题,通过 Spring Cloud Eureka 进行整合,将自身注册为 Eureka 服务治理下的应用,同时从 Eureka 中获取了 ...

  9. Jenkins + Docker 持续集成

    Jenkins介绍 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能. 安装部署Jenkins ...

  10. windows上SSH服务连接远程主机失败

    putty连接出现错误提示"Network error:connection refused",xshell连接出现错误提示"connection failed:(por ...