限流问题

  • conn_messages_in 是单个连接上接收 PUBLISH 报文的速率限制。100,10s 代表每个连接上允许收到的最大 PUBLISH 消息速率是每 10 秒 100 个。
  • conn_bytes_in 是单个连接上接收 TCP数据包的速率限制。100KB,10s 代表每个连接上允许收到的最大 TCP 报文速率是每 10 秒 100KB。

想请问下,这样会限制所有客户端的发布,如果我只想限制设备端的发布速率,但不想限制平台端连接的发布速率,有什么方案吗?

平台端链接是指?

比如一个平台,连接了10000个设备,平台的服务要连接emq,设备也要连接emq,他们都是emq的客户端连接,现在想只做设备端连接的限流,但不对平台服务端连接的限流

比如一个平台,连接了10000个设备,平台的服务要连接emq,设备也要连接emq,他们都是emq的客户端连接,现在想只做设备端连接的限流,但不对平台服务端连接的限流

这个你这个平台也是创建客户端进行发布订阅消息,MQTT本身没办法区分的。所有的客户端都是一视同仁的进行限流,目的就是不让emqx服务整体挂掉。你这个可以从网络上进行控制限速。比如你平台端的网络和设备端网络有区别,比如平台端是内网,设备端端通过其他代理(nginx)进行连接,你在nginx上限速。

好的,感谢!!!

这个我告诉你。我解决过。在 emqx 里再开一个端口给平台的客户端连接就好了。从不同端口接入。