轻松搭建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、关于集群

集群是正式环境需要部署的,这里采用了手动的配置方式

手动管理集群 | EMQX 5.0 文档

7、关于mqtt

  • retain保留信息,只保留最后一条(topic,msg)
  • will消息 客户端断开连接后 开启遗嘱消息发送

以上是关于轻松搭建MQTT服务器,开发流程全透明的主要内容,如果未能解决你的问题,请参考以下文章

K8s 上轻松搭建百万连接的 MQTT 服务

阿里云MQTT服务器搭建与测试(全图文,非常详细)

Spring Boot 集成 WebSocket,轻松实现信息推送!

esp8266物联网开发四:MQTT本地操控

开发者笔记MQTT python测试笔记

极智开发 | ubuntu 搭建 MQTT Broker