EMQ 问答社区

使用webhook存储数据到TDengine中

问题描述

环境信息

  • EMQ X 版本:4.2.9
  • 操作系统及版本:Ubuntu18.04
  • 其他按照EMQX官方文档的配置数据界面可视化


EMQ日志显示

建议添加一个 Inspect(debug) 动作,看下执行日志。


执行日志是这样的,感觉是执行了规则但是没有写入数据

我查询数据哭以后,发现已经存入数据了,但是日志还是会出现部分报错,如上图所示,那这样的话不就代表在连接以后存储数据会出现数据丢失现象

你的消息速率是多少?Webhook 性能有限

5秒,按照官方教程,发送后休眠5秒

还是太快了,你试一下控制在每秒钟 700 条以内

我只连了10台设备,按照开源版能够链接10万台的话,怎么能够保证webhook的稳定性呢

HTTP 请求比长连接重因此性能有限,总的速率在 700 左右,实际使用中 10万设备也不是每秒钟、每一条数据都要入库。

开源里面可以试试共享订阅通过 JDBC 写入,或者试试企业版

就是用共享订阅,JDBC同样接受同一个主题下的数据,然后通过这个链接TDengine数据库?

是的 这个比原生的 Webhook 会好一些 但是可能也会丢数据

好的,谢谢

企业版不存在数据丢失的情况吗

性能不足才会丢消息,企业版性能更好,不管用什么方式在性能上限内都可以保证不丢失

webhook和JDBC共享订阅的上限是多少呢

我想了解一下,这个共享订阅,如果多个节点一起消费,会不会导致重复消费?