实际使用遇到问题

在使用emqx的时候遇到以下几个问题,想与各位朋友进行沟通讨论一下;
版本: V4.4.15
遇到问题:

1.服务端的开发如果遇到报错的时候,会直接把服务端的clientId直接剔除,这就导致不能接收到设备推送过来的消息。【重连机制没有生效】

2.我是通过webhook插件的方式获取设备是否在线,这就会造成大量的数据,之后就会出现连接超时问题。

3.当出现相同的clientId的时候,就会争夺资源,出现重连,这就会造成一个问题,原本设定需要订阅的主题并没有生效。

4.因为服务端也是有clientId的,如果因为一些原因被踢掉了,除了自己创建任务定时器外,是否还有其他的方式可以进行监听clientId是否存在,以及此clientId是否有订阅主题存在。

我们的设备连接量最多的时候只有10台。并发量目前不考虑。

以上是我在生产和测试环境中所需要的问题。欢迎大家可以一起讨论沟通有没有更优的处理方案。

建议使用 EMQX 5.8
对于你的问题:

  1. EMQX 不会因为你的服务端报错而踢掉这个 Client, 建议结合 EMQX 日志来确定原因。然后重连是你的 Client 的功能,这个也得你自己查下了。
  2. 有 API 和 系统主题等其它方式来获得设备是否在线
  3. 对于每个设备 ClientId 必须是唯一的,这个是协议要求的
  4. 服务型的 Client 建议使用共享订阅,使用多个设备分担,同时做好重连机制

你好,我当时想尝试升级到最新版本的,但是遇到了一些问题,因为直接通过http推送的方式获取一些内容,因为是参考V4版本的emqx_auth_http.cnf和emqx_webhook.cnf两个插件去推送的,5版本好像没有此类接口处理的
比如
1.通过clientId,username,password进行连接验证,只有用户名和密码两项
2.判断是否为超级管理员接口推送和acl权限推送接口
3.webhook接口推送处理的相关接口

因为之前是参考V4版本,接口都是按照上面的内容处理的,V5.8如果想处理上述的一些内容话,需要如何处理。

EMQX 4 的 「插件」在 EMQX 5 里都是内置功能,你的 1 和 2 可以看下官方文档的 认证 | EMQX文档https://docs.emqx.com/zh/emqx/latest/access-control/authz/authz.html。

Webhook 的文档看这个 Webhook | EMQX文档