Mac 上 Apache Apollo 的安装与运行,和官方下载文件中 Python 实例的演示
前不久我在 Mac 上成功安装了 mosquitto,这次我又试了试安装另一个热门的 broker —— Apache Apollo。对在 Mac 上安装 mosquitto 感兴趣的可以点击查看我的另一篇文章《Python:Mac 下 MQTT 服务器 Mosquitto 的配置》。
安装和运行 Apache Apollo
1. 下载文件 apache-apollo-1.7.1-unix-distro.tar.gz (网上搜一搜资源,我当时是在有人提供的百度云盘中下载的,现在找不到链接了)。
2. 解压在你习惯的位置。解压的文件夹中有一个 readme.html,双击打开是安装指南,我就是参照这个安装的,不过其中有些内容需要变通一下。
3. 打开终端,进入解压后的文件夹下的 bin 文件夹。(比如说我将解压文件放置在了 /Users/Zhenqi 文件夹下,所以我执行cd /Users/zhenqi/apache-apollo-/bin 。)
4. 执行 ./apollo create mybroker ,(可以取 mybroker 之外的名字),就会得到一个实例 mybroker 在 bin 文件夹下。运行结果如下。

5. 执行 ./mybroker/bin/apollo-broker run ,如显示以下界面就成功运行了。之后要再运行时也要再执行该命令,注意 path 的改变。

6. 打开浏览器,访问 https://127.0.0.1:61681/ 或 http://127.0.0.1:61680/ 就可以打开 Apollo 管理界面。输入默认用户名 admin 和密码 password,如下图。我在访问前一个 URL 时显示不安全,访问后一个就好了。

一个 Python 例子
在下载的文件中有很多不同语言的例子,在这里我就写一下我试验成功的一个 Python 例子。用到的两个 Python 文件的位置是 apache-apollo-1.7.1 > examples > stomp > python > stompest > sync ,两个文件分别是 listener.py 和 pusblisher.py。如下图所示。建议研究一下源代码便于理解。

这两个文件中都用到了 stompest 包,需要安装一下,建议将这个包安装在 python2 的库中,因为这两个文件是主要是 python2 的语法(如果运行python3 会报错,当然你也可以手动将所有错误修改)终端中执行 pip install stompest 。如果安装时报错,就在前面加上 sudo 试一试。
在一个终端界面中保持 apollo broker 的运行,并打开 apollo 管理界面(https://127.0.0.1:61681/ 或 http://127.0.0.1:61680/),操作如之前所述。
打开两个新的终端页面(快捷键 cmd + N),都进入 apache-apollo-1.7.1/examples/stomp/python/stompest/sync 位置,如下图。

将 Apollo 管理界面放在一旁置顶便于观察。
在后面新开的两个终端中的其中一个终端中执行 python listener.py ,终端不会有任何输出,该文件持续运行中,观察 Apollo 管理界面就能发现有了一个 topic,如下图所示。

这时候在另一个新开的终端中执行 python publisher.py ,你会观察到 Apollo 管理界面中 Topics 下 Consumers 由1变0,后两个终端也会有输出内容。效果如下动图。Apollo 管理界面中运行速度快,如果没有观察到变化,可以重复运行 listener.py 和 publisher.py,要先运行前者,你可以试一试先运行后者的效果便于理解。

Mac 上 Apache Apollo 的安装与运行,和官方下载文件中 Python 实例的演示的更多相关文章
- OpenSSL证书生成及Mac上Apache服务器配置HTTPS(也适用centos)
自签名证书 配置Apache服务器SSL 自己作为CA签发证书 这里是OpenSSL和HTTPS的介绍OpenSSLHTTPS 开启HTTPS配置前提是已在Mac上搭建Apache服务器→Mac上Ap ...
- 如何在 Mac 上通过 Boot Camp 安装 Windows?
如何在 Mac 上通过 Boot Camp 安装 Windows? The following contents are chosen from the apple website, thanks f ...
- 在Mac上使用vundle自动安装vim插件,并用vim代替sourceinsight
一直以来在Mac上找不到好的代码阅读工具,最近根据网上的教程,自己总结一下,做了个在Mac的类sourceinsight的vim,感觉很好用.我不喜欢那种把vim搞的很复杂的配置,所以做了个仅仅能满足 ...
- mac上一键配置和安装adb驱动或者环境
最近才使用的mac,老实说mac上要配置adb的环境不那么复杂,但是还是会让一些心不细或者动手能力不强的同学望而却步.那么到底有没有一个一键完成mac上adb和fastboot环境搭配的软件或者脚本呢 ...
- 【转】如何在Mac上卸载Java及安装Java
如何在 Mac 上卸载 Java? 本文适用于: 平台: Macintosh OS X Java 版本: 7.0, 8.0 使用终端卸载 Oracle Java 注:要卸载 Java,必须具有管理员权 ...
- Mac上sonar插件的安装及使用
本文主要讲解sonar的安装及使用. 分为两个维度来讲解 1. 使用sonarqube以及自带的Derby数据库 2. 使用sonarqube以及配置mysql数据库 ---------------- ...
- Mac下Apache+MySQL+PHP安装
max下是自带有Apache和php的服务器的,不需要另外安装,本文就对相关配置进行介绍. 第一:Apache 在终端中输入,下面指令即可启动Apache服务器: //启动 sudo apachect ...
- Mac上使用Docker Desktop安装Kubernetes
下载镜像需要特殊手段,你懂的,如果没有特殊手段,建议放弃这种方式. 1 启用Kubernetes 启用过程,会联网下载kubenetes相关的核心组件镜像,如下是我下载好的: 下载好了,kubenet ...
- 在mac上使用tar.gz安装mysql
官方: download: https://dev.mysql.com/downloads/mysql/ mysql参考文档:https://dev.mysql.com/doc/ 环境: macOS ...
随机推荐
- java.lang.IllegalArgumentException: Called attach on a child which is not detached: ViewHolder
转载请标明出处,维权必究:https://www.cnblogs.com/tangZH/p/10116298.html 在项目过程中出现了上述错误. 会出现这样的错误是在我使用: notifyItem ...
- 使用免费 mongodb数据库 + 免费node.js服务器搭建小程序接口
由于微信的小程序只支持不带端口的域名接口,不支持IP地址和接口,所以我们需要映射到80端口并绑定备案过的域名才能被微信小程序访问到.简单点就是接口需要 https 协议才行,找了许久的免费的数据库与n ...
- js饼状图(带百分比)功能实现,新人必懂
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- 关于Android Studio 代理
1.需要代理 首次使用Android Studio需 推荐代理 大连东软信息学院镜像服务器地址: - http://mirrors.neusoft.edu.cn 端口:80 2.不需要代理 检查更新, ...
- python学习笔记3_抽象
这一步的学习四个知识点,如何将语句组织成函数,参数,作用域(scope),和递归 一.函数 1.抽象和结构 抽象可以节省很多的工作量,实际上它的作用更大,它是使得计算机程序让人读懂的关键(这也是最基本 ...
- C# .NET 0命令行安装Windows服务程序
设计原则:万物皆对象 背景:在我的项目中,即需要与硬件通过Socket连接通讯,又需要给App提供Wcf服务操作接口,虽然都完成了,但是却是一个控制台(虽然我很喜欢控制台,因为它简单易用),把它放到服 ...
- Linux增加开放端口号
Linux增加开放端口号 : 方法一:命令行方式 1. 开放端口命令: /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT 2.保存:/etc/ ...
- 【学习总结】GirlsInAI ML-diary day-19-面向对象编程
[学习总结]GirlsInAI ML-diary 总 原博github链接-day19 认识面向对象 Python使用类(class)和对象(object),进行面向对象(object-oriente ...
- mysql 8.0.X 创建新的数据库、用户并授权
一.创建数据库 mysql> create database jira; Query OK, 0 rows affected (0.09 sec) 二.创建用户 mysql> create ...
- Commons-DbUtils
<dependency> <groupId>commons-dbutils</groupId> <artifactId>commons-dbutils& ...