目的:验证EMQX企业版将消息持久化到mysql数据库。
准备工作:需要一台linux服务器,并且安装了mysql数据库
企业版相对于开源版本功能更加强大,数据库持久化是企业版独有的功能,所以这里选择了企业版来试用。
1、下载EMQX
选择适合linux系统版本的emqx版本,我这里选择的emqx是v4.4.5版本,适用于ubuntu18.04的操作系统
获取下载链接,然后在ubuntu通过命令下载安装包:
wget https://www.emqx.com/zh/downloads/enterprise/4.4.5/emqx-ee-4.4.5-otp24.1.5-3-ubuntu18.04-amd64.deb
2、安装EMQX
sudo apt install ./emqx-ee-4.4.5-otp24.1.5-3-ubuntu18.04-amd64.deb
3、运行EMQX
sudo emqx start
4、验证emqx是否启动
在ubuntu系统打开浏览器,输入地址:http://127.0.0.1:18083/,能打开则表示服务安装成功,界面如下:
5、输入默认账户admin,密码public进入EMQX的web管理系统。
6、在系统中工具栏,点击websocket,连接配置那里点击连接,建立服务端MQTT协议连接,用于服务MQTT客户端消息发布。
7、订阅一个主题
在连接建立之后,往下拉动,可以看到订阅的输入窗口,填写信息,点击订阅:
8、安装MQTT客户端
我这里用的在线的MQTT客户端,不需要下载安装就能测试,地址:Easy-to-Use Online MQTT Client | Try Now
9、新建客户端连接
10、给服务端发布一个消息
11、查看服务端是否正常收到消息,如下图所示,说明正常收到消息了。
12、建立资源
在规则引擎-》资源下面,新建资源,这里我们选的是数据持久化到mysql,需要填写mysql服务器相关信息,
13、在emqx数据库新建一张测试表,用于接收消息,并持久化,以下是我的表结构:
14、建立规则
规则基于SQL语法,确定消息需要做什么处理,处理完之后,需要触发什么动作。以下规则意思是提取主题test/a中的msg字段内容。
15、新建动作
建立规则之后,需要新建动作,指示消息需要去往哪里,这里选择数据持久化,然后选择上面新建的mysql资源,
然后填写SQL模板,标准的SQL语法,如下所示:
最后确定保存即可生效。
16、测试数据持久化功能
在MQTT客户端给主题test/a发送一条消息:
在mysql数据库查看消息是否持久化,
可以看到消息被正常保存了,说明实验成功!
总结:EMQX企业版相对于开源版来说,功能确实更加强大了,企业版毕竟是要收费的,下一步考虑使用开源版,自己建个MQTT的客户端,将收到的消息持久化到Mysql。
在使用过程中,可能会遇到服务器上端口不通的问题,可以参考我的另一篇文章,打通端口,地址:Ubuntu开启防火墙端口_Three Big Stones的博客-CSDN博客
至于mysql的安装,可以参考Ubuntu下安装mysql笔记_Three Big Stones的博客-CSDN博客