一直是使用 Apache Apollo 做为 MQTT Borker, 最近搜索资料才发现官方早就把Apollo 废弃了。
尝试使用 ActiveMQ Artemis ,安装 docker 版本。主要参考网址
1. 下载最新版本
虽然是 docker 版本,还是需要先手动下载最新版本,再配合Dockerfile 生成镜像
wget http://mirrors.advancedhosters.com/apache/activemq/activemq-artemis/2.9.0/apache-artemis-2.9.0-bin.tar.gz
2. 准备工作
解压上面的安装包,然后在目录下创建 docker 目录,在这个目录里拷贝
在网址 下载的 Dockerfile-centos 和 docker-run.sh (注意 chmod 777 把这个 sh 文件改成可执行)
我的系统是Centos,所以拷贝的是Dockerfile-centos
3. build镜像
在安装目录根目录下运行 docker build,注意一定要在根目录(在刚才创建的docker目录上级目录下)。
docker build -f ./docker/Dockerfile-centos -t artemis-centos .
4. 启动容器
docker run --rm -it -d
-v /etc/localtime:/etc/localtime
-e ARTEMIS_USER=admin
-e ARTEMIS_PASSWORD=123456
-p 8083:1883
-p 8080:8161
artemis-centos
其中-v 是确保容器时间和宿主机系统时间一致
ARTEMIS_USER 和 ARTEMIS_PASSWORD 是管理界面的用户和密码
-p 8083:1883 是MQTT缺省端口是1883,其它协议端口暂时不管
-p 8080:8161 管理界面的缺省端口是8161
启动在浏览器输入 ip:8080,就可以进行管理了。
image.png
总体感觉作为只是用来做MQTT borker来说,Artemis 并不比 Apollo好用,里面的一些概念和MQTT 协议不一样的,比如topic,message等。
网友评论