使用EMQ-X 如何实现将设备上报上来的消息存储到数据库呢,方法很多,如下
购买EMQ-X企业版,有钱就用最省力的办法。
数据存储设计 • EMQ X 使用文档
方法:
弊端:
这个方法是最简单的,目前在很多开源的物联网项目中看到都是这么用的,但是它的弊端也很明显。
进一步解决方法:
办法总比问题多,是个问题总能解决
引用别人的一张图
了解WebHook之前需要先连接Hook,钩子 • EMQ X 使用文档
WebHook 对于事件的处理是单向的,它仅支持将 EMQ X 中的事件推送给 Web 服务,并不关心 Web 服务的返回。 借助 Webhook 可以完成设备在线、上下线记录,订阅与消息存储、消息送达确认等诸多业务。
Enterprise实现数据存储的方式就是通过插件来实现的,而插件的核心又是钩子。
所以,看到这里大家就会很奇怪,那么WebHook和插件差别在哪呢。
Enterprise就是通过插件来实现的
EMQ提供了插件开发功能,参考 emqx_plugin_template 插件模版创建新的插件项目。
所以,理论上我们也是可以做到的,只是可能有点难。而且插件没写好的话,可能比上述三个方法更惨,所以要谨慎。
在money不富裕的情况下,个人建议是 WebHook > MQTT客户端订阅消息再转存数据库 > 插件