解决软件连接RabbitMQ突发System.IO.IOException: 无法从传输连接中读取数据: 远程主机强迫关闭了一个现有的连接异常

一、问题描述

系统再运行时,突然出现

System.Exception: [RabbitMQ.Send Error] RabbitMQ.Client.Exceptions.AlreadyClosedException: Already closed: The AMQP operation was interrupted: AMQP close-reason, initiated by Library, code=541, text="Unexpected Exception", classId=0, methodId=0, cause=System.IO.IOException: 无法从传输连接中读取数据: 远程主机强迫关闭了一个现有的连接。。 ---> System.Net.Sockets.SocketException: 远程主机强迫关闭了一个现有的连接。

二、问题排除与解决

  1. 排查所有相关系统,发现生产者都再相同时间出现类似报错,其他消费者的系统没有明显异常

  2. 基本锁定问题根源在以下两点:

    a. 网络异常,生产者所在服务器与MQ服务器之间存在偶发性网络异常

    b. MQ服务器异常

  3. 排查MQ Overview,MQ内存、磁盘都是正常,但很快注意到一点,MQ的连接数出奇的高

  4. 排查连接细节,发现大量消费者系统中创建的连接对象

  5. 排查消费者系统,发现代码逻辑问题,创建的消费者连接信息残留未被销毁导致。

相关推荐
海融-二进制旅人2 小时前
面试突击:消息中间件之RabbitMQ
面试·职场和发展·rabbitmq
小草cys5 小时前
EXO分布式部署deepseek r1
分布式·部署·推理·deepseek
wuli玉shell5 小时前
spark-shuffle 类型及其对比
大数据·分布式·spark
zhixingheyi_tian6 小时前
Spark 之 SparkPlanInfo
大数据·分布式·spark
北漂老男孩8 小时前
Spark Core基础与源码剖析全景手册
大数据·分布式·spark
@TangXin10 小时前
RabbitMQ通信模式(Simplest)Python示例
python·rabbitmq
qrh_yogurt11 小时前
Spark离线数据处理实例
大数据·分布式·spark
hong_zc17 小时前
RabbitMQ 工作模式(上)
分布式·rabbitmq
菠萝崽.17 小时前
RabbitMQ高级篇-MQ的可靠性
java·分布式·后端·消息队列·rabbitmq·异步编程