轻松搭建MQTT服务器,开发流程全透明

news2025/1/11 0:07:37

 

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消息 客户端断开连接后 开启遗嘱消息发送

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/118413.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

专利代理机构代理专利流程

代理申请专利流程是怎么样的? (一)咨询 1、 确定发明创造的内容是否属于可以申请专利的内容。 (二)技术交底 1、申请人向专利代理人提供有关发明创造的背景资料或委托检索有关内容; 2、申请人详细介绍发明创造的内容,帮助专利代理人充分理解发明创造…

【windows下nginx反向代理 ip地址和域名(含启动重启和关闭3个脚本)】 1.vue案例必须修改vue.config.js

例子1:代理vue的web服务器 1)去官网下nginx: download 下载windows版本nginx,并写好脚本,总体目录如下: StartNginx.bat // 启动脚本 echo off echo "nginx start !!!" nginx.exe -c conf/nginx.conf pause ReStartNginx.bat // 修改nginx.conf后重启脚…

redis学习笔记(基础)

Redis简介 Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、…

飞腾FT-2000/4处理器+复旦微FPGA+国产操作系统解决方案

XM-1203-FPGA飞腾定制主板 自主可控,国产CPU、BIOS和国产Linux操作系统 性能稳定,FT-2000/4处理器 功能接口多样化,可扩展性强 高度集成,具有丰富的接口和电磁兼容性能. XM-1203-FPGA基于飞腾4 核CPU FT-2000/4的处理器板&#x…

【Javassist】快速入门系列09 当检测到数组创建时用代码块替换

系列文章目录 01 在方法体的开头或结尾插入代码 02 使用Javassist实现方法执行时间统计 03 使用Javassist实现方法异常处理 04 使用Javassist更改整个方法体 05 当有指定方法调用时替换方法调用的内容 06 当有构造方法调用时替换方法调用的内容 07 当检测到字段被访问时使用语…

springboot整合之统一结果返回

特别说明:本次项目整合基于idea进行的,如果使用Eclipse可能操作会略有不同,不过总的来说不影响。 springboot整合之如何选择版本及项目搭建 springboot整合之版本号统一管理 springboot整合mybatis-plusdurid数据库连接池 springboot整合…

树与二叉树(遍历)

一、树 树结构是一种非常重要的非线性数据结构,该结构中的一个数据元素可以有两个或者两个以上的直接后继元素。 1、树的定义 树是由 n(n>0)个有限结点组成一个具有层次关系的集合,当 n0时称为空树,当 n>0时称为非空树。 对于非空树来…

水上交通AIS常见问题解决方案

水上交通AIS常见问题解决方案 AIS无信号的几种情况 情况一:AIS未开启。 解决方法:开启AIS设备。 情况二:AIS开启但MMSI码和证书不一致。 解决方法:船长向直属海事部门申请MMSI码,并请专业人员将正确的MMSI码写入AIS设…

数据结构之堆的实现以及实现堆排序和建堆解决Top K问题

文章目录前言1.堆的相关介绍1.什么是堆2.堆的结构2.堆的相关接口具体实现1.堆的声明和堆的初始化2.堆插入数据和删除数据3.堆的其他函数接口3.堆的实际运用1.建堆算法2.堆的应用之堆排序3.堆解决Top k问题4.总结前言 之前对树的相关知识概念进行了简单介绍,本文将实…

odps-jdbc提交MaxCompute数据源SQL报错HTTP/1.0 is not allowed

概述 最近负责的一款数据产品。有个功能:选择某个数据源,比如阿里云的MaxCompute数据源,然后手写SQL,点击自动生成字段(即获取前置SQL里的查询字段。前置SQL可以有drop then create table动作子句,但是最后…

【PS-选区速成】快速选择工具、魔棒工具、对象选择工具

目录 快速选择工具 1、位置 2、3种模式:新选区、添加到选区、从选区减去 3、画笔的设置参数 画笔大小:识别的范围 硬度:边缘的识别能力 间距:识别的连贯程度 跟【选区工具】配套使用的快捷键 1、按【ALT】减区 2、放大…

数据结构之排序【快速排序和归并排序的非递归代码实现及分析】

引言: 今天因为要写论文,所以现在有点迟了,并且此时是北京时间:2022/12/28/1:41 ,我发现晚睡我真的是专业的,当然睡觉我也是专业的,懂的都懂,现在有点迟加上天大寒,手指不可屈伸&am…

android之View的滑动

其实不管是哪种滑动方式,基本思想都是类似的:当点击事件传递到View时,系统记下触摸点的坐标,手指移动的时候,系统记下移动后的坐标,并计算出偏移量,并通过偏移量来修改View的坐标。 下面我们来…

黑客比程序员高在哪里?

黑客其实和一般的程序员一样,但是他们的关注点不一样。黑客关注的是如何破坏,通过这些有创造性的破坏来获取利益,展现自己的能力。而程序员关注的是如何创造,通过创造来获取利益,展现自己的能力。 就如同一个硬币的两…

CCF BDCI|算能赛题决赛选手说明论文-01

基于TPU平台实现人群密度估计 加速器队伍 黄显钧 个人名义参赛 中国-广东广州peterhuang0323qq.com 团队简介 加速器队伍队长:黄显钧,现任某科技公司的高级工程师,技术栈涉足嵌入式全栈开发,AI 开发等领域,对技术充满…

云桌面 Vscode 远程debug python

云桌面 Vscode 远程debug python1、进入云桌面2、下载VScode配套软件3、挂载本地磁盘4、安装软件4.1 安装VScode4.2 安装插件vsix文件4.3 在服务端安装vscode server5、VScode 配置6、远程调试6.1 python解释器选择6.2 设置debug7. mtu 配置Author: 沧海一阳1、进入云桌面 根据…

傻白入门芯片设计,盘点计算机体系结构顶会

目录 一、集成电路/半导体领域的三大顶会: (1)ISSCC (2)IEDM (3)VLSI 二、计算机体系结构四大顶会 (1)ISCA (2)HPCA (3&#x…

42. 网络中的网络(NiN)

LeNet、AlexNet和VGG都有一个共同的设计模式:通过一系列的卷积层与汇聚层来提取空间结构特征;然后通过全连接层对特征的表征进行处理。 AlexNet和VGG对LeNet的改进主要在于如何扩大和加深这两个模块。 或者,可以想象在这个过程的早期使用全连…

利用GithubPage和Hexo搭建个人博客

title: 利用Github搭建个人博客 date: 2022-11-28 20:55:30 tags: [blogs] categories: Hexo 建立Git远程仓库 固定格式为:name.github.io ![]](https://img-blog.csdnimg.cn/fa9d7320d1cc422a8a79f2b41dd8458e.png) 开启Github Pages 设置github的token登陆 连接…

免费在线绘制高颜值,带填充的连贯堆叠柱状图

堆叠柱状图是我们日常工作中经常使用的一类图形。然而当分类较多时,堆叠柱状图看起来不是那么清晰,通过添加额外的连线,可以增加堆叠柱状图的颜值,给人一种连贯的感觉,并且能够更好地观察数据比例的变化。 图1. 堆叠柱…