TCP 连接已经阻塞了,请问是发送方这边阻塞还是接收方那边阻塞呢?

EMQX 版本

EMQX 5.0.17

EMQX 安装部署方式

centos7部署

EMQX 集群情况

4个节点集群

请问以上图一日志报出的TCP 连接是指发送方还是接收方的阻塞?阻塞问题有什么好的建议?谢谢!
图二的报警又是什么的报警呢?

  1. 图一中的只能看出是EMQX发送MQTT包给对应客户端的TCP通路阻塞了。对应的TCP客户端是订阅端(因为他input为0,全是output)。
    有什么好的建议么,让订阅客户端处理能力加快或者使用共享订阅。
  2. 图2的告警,就是阻塞了。是1的连锁反应引走的。

问题我是通过数据桥接到另一个MQTT broker(暂名为B), 而没有客户端在消费B。像这种数据不应该丢弃吗?

难怪。那堵的实质是桥接到B的TCP连接。
这个你的流出到B的速度大么。

每秒8000左右的数据量,像这种有什么好的方案解决呢?由于是桥接到B borker,B broker没法做什么共享订阅.

目前的版本上的桥接到其它broker时使用的是单条tcp连接。
未来版本(v5.1.0)会支持连接池的功能。
还在规划中,目前没有什么好的解决方案。

那我这边可能要开发多个客户端来做数据的转发到broker B,以目前我们每秒8千左右的数据量,请问您那边建议用多少个连接进行推送到Broker B合适呢?

和消息的大小有关系的。
如果消息都比较小,就一条tcp处理 1000条每秒合理,相当于1ms处理一条。我也是拍脑袋说的,你得实际测试才行。