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. css学习の第一弹—格式创建

    构成结构:选择符(又称为选择qi器){声明(属性:值):}*****注意:大括号,冒号,每个声明后的分号. 注释:/*注释内容写在这里*/ 一.css样式 css样式写的地方的不同分类:内联式.嵌入式 ...

  2. windows下 python3.5+tensorflow 安装

    个人随笔,备忘参考 首先最近的tensorflow 对python3.5.x友好,我先装了Python3.6,查其他的一些博客说出现问题,后来重装3.5.0.下载用迅雷,超快. 安装比较简单,官网下载 ...

  3. 01背包问题(Java实现)

    关于背包问题,百度文库上有崔添翼大神的<背包九讲>,不明的请移步查看.这里仅介绍最基本的01背包问题的实现. public class Knapsack { private final i ...

  4. vue使用 better-scroll的参数和方法

    格式:var obj = new BScroll(object,{[option1,],.,.}); 注意: 1.要确保object元素的高度比其父元素高 2.使用时,一定要确保object所在的do ...

  5. C/S 和B/S 详解 --- 2017-04-25

    来源:脚本之家 一.C/S 架构 1. 概念 C/S 架构是一种典型的两层架构,其全程是Client/Server,即客户端服务器端架构,其客户端包含一个或多个在用户的电脑上运行的程序,而服务器端有两 ...

  6. Linux设备驱动故障定位指引与实例

    Linux设备驱动故障定位指引 Linux设备驱动种类繁多,涉及的知识点多,想写一个通用的故障定位方法指引,是个难度颇大且不容易做好的工作.限于笔者的经验,难以避免存在疏漏之处,欢迎大家留言指正补充. ...

  7. webpack学习(七)打包压缩图片

    使用插件webpack-spritesmith生成雪碧图 1.安装webpack-spritesmith:npm install --save-dev webpack-spritesmith 2.配置 ...

  8. 大数据 --> Spark和Hadoop作业之间的区别

    Spark和Hadoop作业之间的区别 熟悉Hadoop的人应该都知道,用户先编写好一个程序,我们称为Mapreduce程序,一个Mapreduce程序就是一个Job,而一个Job里面可以有一个或多个 ...

  9. 通过修改然后commit的方式创建自己的镜像

    创建自己的镜像:通过现有的镜像来创建自己的镜像.1.首先拉取一个镜像到本地$ sudo docker imagesREPOSITORY          TAG                 IMA ...

  10. 求逆序对[树状数组] jdoj

    求逆序对 题目大意:给你一个序列,求逆序对个数. 注释:n<=$10^5$. 此题显然可以跑暴力.想枚举1到n,再求在i的后缀中有多少比i小的,统计答案即可.这显然是$n^2$的.这...显然过 ...