轻松搭建MQTT服务器,开发流程全透明
Posted 香菜+
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了轻松搭建MQTT服务器,开发流程全透明相关的知识,希望对你有一定的参考价值。
1、使用场景
MQTT服务器适用场景就不多介绍了,基本上实在IOT圈发光发热,所以说是特定领域的一个服务端软件,我们是用在车联网的环境里,用来发布消息。
2、选型
最早说需要使用mqtt服务器,然后我以为需要自己开发服务器,虽然这玩意没什么难度,但是要达到商用的程度还是要花点心思在上面,所以当时一顿搜索,也看了各种实现,都是一些基本的功能,不过完全足够使用了。但是没有做过压力测试,没有大范围使用还是心慌的。
后来在网上搜到了emqx,所以选定了这个,主要是有开源版本,然后可以集群,省事,就选择了他,没有太多的思考。
3、客户端
因为使用的Java语言,官方也提供了demo,照猫画虎呗,直接抄起来,先完成功能再说,然后再做优化。
文件代码直接上传了,需要的可以下载https://download.csdn.net/download/perfect2011/87349232
4、关于权限管理
关于认证
认证就是在连接的时候判断连接是否合理,可以理解为登录,这个可以直接通过dashboard进行配置,在最初的时候跟着官方文档操作,直接操作配置文件,饶了好大一圈也没完成
关于授权
授权就是对哪些有权限,这个也是同样的,多种授权方式,可以直接操作数据库
注意:可以在你的数据库中多存储一些数据,也就是多几列,只要在查询的sql的顺序不错就行
关于密码
最初的时候看到其他项目生成的密码很诡异,不知道是怎么生成的,最后问了其他同事,说是随机的,这里我就随便找了一些随机密码工具,
http://www.jsons.cn/randompwd/
关于密码加密
这玩意也有现成的,sha256在线加密 - sha256哈希加密
5、关于工具
这里直接使用的官方的客户端,MQTTx,没啥特别的,
关于测试服务器,这里直接也是使用在线的服务器,用来测试贼方便
Broker:broker-cn.emqx.io
TCP 端口:1883
WebSocket 端口:8083
SSL/TLS 端口:8883
WebSocket Secure 端口:8084
CA 证书文件:broker.emqx.io-ca.crt
6、关于集群
集群是正式环境需要部署的,这里采用了手动的配置方式
7、关于mqtt
- retain保留信息,只保留最后一条(topic,msg)
- will消息 客户端断开连接后 开启遗嘱消息发送
以上是关于轻松搭建MQTT服务器,开发流程全透明的主要内容,如果未能解决你的问题,请参考以下文章