实现存储的最简单方法是添加一个订阅通配符主题的附加客户端(在MQTT中恰好是#)。这可确保客户端接收代理分发的所有消息。现在,客户端可以在每次消息到达时将消息持久保存到MySQL数据库。
一、分布式开源物联网MQTT消息服务器EMQ怎么做数据的存储
(1)实现存储的最简单方法是添加一个订阅通配符主题的附加客户端(在MQTT中恰好是#)。这可确保客户端接收代理分发的所有消息。现在,客户端可以在每次消息到达时将消息持久保存到MySQL数据库。如题主所说。但是缺点也是明显的。订阅的越多越多,客户端压力越来越大不说,还需要处理断线重连问题。
物联网设备的信息可以先通过 MQTT/TLS 连接到 emq 服务集群上;
后端mqtt 客户端 通过[共享订阅]的方式, 将一个数据量很大的较好ic 分流成多个数据流, 并将这些数据丢进kafka集群中;
kafka 的数据可以通过 flink 等流处理框架, 对数据进行处理或者存储;
关于存储引擎, 我们可能有多种选择, 包括 mongodb, [TDengine](https://github.com/taosdata/TDengine), 以及其他的一些时序数据库, 根据需求不同, 也可以选择阿里云的日志系统。
(2)EMQ提供了钩子函数,可以借助钩子函数+Dreamfactory 方式实现。具体步骤请戳这里 https://www.raviyp.com/embedded/233-learn-how-to-save-mqtt-messages-into-a-mysql-database 有文有视频
(3)按照EMQ官方文档,用erlang 自己写插件。写插件和插入插件见官方文档扩展插件 (Plugins) – EMQ – 百万级开源MQTT消息服务器 2.2-beta.1 文档。
(4)买买买。没有什么问题是用钱解决不了的,如果有,多花点钱。EMQ直接提供了EMQ-mysql插件收费版本。
延伸阅读:
二、Power BI是什么
Power BI(power business intelligence)是软件服务、应用和连接器的集合,它们协同工作以将相关数据来源转换为连贯的视觉逼真的交互式见解。 无论用户的数据是简单的 Excel 电子表格,还是基于云和本地混合数据仓库的集合,Power BI 都可让用户轻松地连接到数据源,直观看到(或发现)重要内容,与任何所希望的人进行共享。
Power BI 简单且快速,能够从 Excel 电子表格或本地数据库创建快速见解。 同时 Power BI 也可进行丰富的建模和实时分析,及自定义开发。 因此它既是用户的个人报表和可视化工具,还可用作组项目、部门或整个企业背后的分析和决策引擎。