缘起
访问线上的RocketMQ
集群的dashboard
突然上不去了提示超时
初次排查
看报错很清晰可以看到就是timeout
所以最简单的是增加了超时时间(我多等一会),从5s
增加到10s
,15s
但是发现并没有什么用,还是超时
这时候初步怀疑是网络问题
查看RocketMQ log
这时候没什么其他办法,只能去服务器上面看看有没有错误log
发现服务器存在大量报错log
java
复制代码
at io.netty.channel.AbstractChannel$AbstractUnsafe.write(ObjectChannelPromise)(Unknown Source) 08-18 19:43:53 ERROR NettyServerNIOSelector_3_2 - Failed to write ressponse[request code: 41, response code: 0, opaque: 166429356] to chanel[id: 0xc0b80baf, L:/192.168.1:30911 R:/192.168.2:56824]
这里可以看到的错误就是RocketMQ
broker
一直想要将client
请求的数据响应给client
,但是client
都没有接受这个响应,因为broker
与client
之间的连接已经关闭了 大致流程如下
所以这里看到的情况就是服务端一直在报错
client
一直向broker
发送请求,但是这些请求broker
处理了,client
却在接收响应前断开连接了
这个错误会导致dashboard
连接不上吗?单看这个log并不能看出问题,我们再看看RocketMQ
的remote.log
文件看看,发现有大量的channelGegistered
java
复制代码
2023-08-18 20:26:57 INFO NettyServerCodecThread_8 - NETTY SERVER PIPELINE: channelRegistered 192.168.1.12:60912 2023-08-18 20:26:58 INFO NettyServerCodecTh